본문으로 바로가기

디자인하기

 

먼저 MainWindow 를 하나 생성합니다.

 

키워드를 검색할 수 있는 입력창과 버튼

그리고 결과를 출력해줄 수 있는 위젯이 필요하겠습니다.

 

QLineEdit, QPushButton, QTableWidget 을 배치하겠습니다.

약간 못나긴(?) 했지만 이대로 하겠습니다.

 

지금 생성한 위젯들은 Object Inspector라는 창에서 볼 수 있으며

코드상에서 다음 Object 이름으로 접근이 가능합니다.

 

1차적으로 배치를 해놓고 저장하고, 실행하여 확인해봅니다.

저는 다음과 같은 디렉터리에 app.ui로 해서 저장하였습니다.

디렉터리: C:\Users\Desktop\pyqt\Example\begin_for_blog\2

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----     2020-07-22   오후 6:05            393 app.py
-a----     2020-07-22   오후 6:04           1493 app.ui
-a----     2020-07-22   오후 5:26           1858 crawler.py

 

다음은 ui 파일을 읽고 이벤트를 처리하는 코드(위의 app.py)를 생성해보겠습니다.

다음과 같은 형태의 코드는 템플릿을 하나 만들어서 사용하면 편합니다.

uic.loadUiType('app.ui') 를 통해 ui 파일을 호출하고 있습니다.

import sys
from PyQt5 import QtCore, QtWidgets, uic
from PyQt5.QtWidgets import QMainWindow

ui = uic.loadUiType('app.ui')[0]
class MainWindow(QMainWindow, ui):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    app.exec_()

 

실행해 봅니다.

 

이제 디자이너에서 디자인 수정과 저장을 반복하면서 확인해보면 되겠습니다.

 

다시 디자이너로 가서 생성한 QTableWidget의 컬럼을 추가해 보겠습니다.

위젯을 더블클릭하면 창이 뜨고 그 창에서 추가합니다.

 

다음과 같이 3개의 컬럼을 만들어 주었습니다.

수정하면 바로바로 확인합니다.

 

디자인 완료.

다음 포스팅에서 크롤러 모듈을 불러와서 이벤트 처리를 하는 방법에 대해 다루겠습니다.