[GPA Check] 출력 함수 수정
Updated:
출력 함수 수정
[GPA Check] 출력 함수 정의 및 정리 에서 출력 기능 까지 구현을 했다.
그런데 뭔가 다닥다닥 붙어 있는게 마음에 안들어 조금 수정했다.
기존에는 교과목명, 이수구분, 학점과 처음에 개행문자를 합친 문자열을 출력 하도록 했다.
그런데 그렇게 하고 보니 맨 첫줄은 구분선과 떨어져 있고, 맨 마지막줄은 구분선과 붙어있어 굉장히 보기 싫었다 !!
방법이 없을까 생각을 하던 도중..
enumerate 를 사용해 첫 번째 줄만 개행문자를 넣어주지 않고 문자열을 만들었다.
def print_info(self, check):
widget = QPlainTextEdit(self)
widget.setReadOnly(True)
query = 'SELECT * FROM ' + check
my_cur.execute(query)
my_result = my_cur.fetchall()
widget.appendPlainText(check.replace('_', '-') + ' 성적 조회\n')
widget.appendPlainText('교과목명\t\t\t\t\t이수구분\t\t\t\t학점\t\t등급')
widget.appendPlainText('-------------------------------------------------------------------------------'
'----------------------------------------------------------------------------')
application_credit = 0 # 신청학점
acquisition_credit = 0 # 취득학점
for idx, cur in enumerate(my_result):
class_name = str(cur[0])
classification = str(cur[1])
credit = str(cur[2])
application_credit += int(credit)
if idx == 0:
if len(class_name) <= 8:
output = class_name + '\t\t\t\t\t' + classification + '\t\t\t\t' + credit
else:
output = class_name + '\t\t\t\t' + classification + '\t\t\t\t' + credit
else:
if len(class_name) <= 8:
output = '\n' + class_name + '\t\t\t\t\t' + classification + '\t\t\t\t' + credit
else:
output = '\n' + class_name + '\t\t\t\t' + classification + '\t\t\t\t' + credit
widget.appendPlainText(output)
widget.appendPlainText('-------------------------------------------------------------------------------'
'----------------------------------------------------------------------------\n')
widget.appendPlainText('신청학점 : ' + str(application_credit) + '\t\t\t\t\t취득학점 : ' + str(acquisition_credit) +
'\t\t\t\t\t평균평점 : ')
widget.setGeometry(25, 40, 950, 435)
widget.show()
거기다 출력시 여백을 맞추기 위해 교과목명 이름 길이에 따라 탭 추가 개수를 다르게 해주는 코드도 있다보니
조~금 지저분해 보이긴 하지만 어쨌든 출력이 아주 마음에 들어 만족한다 !
Leave a comment