[GPA Check] 출력 함수 정의 및 정리

Updated:

출력 함수 정의

[GPA Check] Python, MySQL 연동 글을 보면 데이터베이스 연동을 해서 가져와 출력까지 했다.

그래서 print 함수를 만들어 학기별로 적용시켜줬다!

   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('_', '-'))
        widget.appendPlainText('\n교과목명\t\t\t\t\t이수구분\t\t\t\t학점\t\t등급')
        widget.appendPlainText('-------------------------------------------------------------------------------'
                               '----------------------------------------------------------------------------')
        application_credit = 0  # 신청학점
        acquisition_credit = 0  # 취득학점
        for cur in my_result:
            class_name = str(cur[0])
            classification = str(cur[1])
            credit = str(cur[2])
            application_credit += int(credit)
            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
            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()
    def find_1_1(self):
        self.print_info('1_1')

학기를 인자로 해서 넘겨주면 query 문으로 합쳐서 동작을 한다.

8번째 줄을 보면 인자는 ‘1_1’ 로 넘겨주지만 출력을 할 때는 ‘1-1’ 로 출력하기 위해서 replace 를 사용했다.

신청학점은 바로 계산이 됐는데 취득학점과 평균평점은 아직 입력 기능을 만들지 않아 패스했다 !

ComboBox 를 이용해서 A+, A0, B+ … 을 해두고 선택해서 입력하는 방식으로 만들어보려고 한다.

여기까진 간단했는데 등급 입력하는 기능이 엄청 힘들 것 같은 느낌…


Categories:

Updated:

Leave a comment