4. PyQt5 - Qt Designer 사용하기

Qt Designer는 화면구성(GUI 인터페이스)을 코드 사용없이 빠르게 만들 수 있습니다.

4-1. 설치

pip install pyqt5-tools 설치 시 에러가 나옵니다. 대안으로 pyside2를 설치하면 Qt Designer가 자동으로 설치가 됩니다.

pip install pyside2

설치가 완료되면 PySide2 설치 폴더에 designer 실행파일이 보입니다. 바탕화면에 바로가기 아이콘을 만들어서 실행하시면 됩니다.

C:\Users\사용자ID\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySide2

image

4-2. Main Window 만들기

메뉴에서 [파일] - [새 폼]을 선택합니다. 화면의 크기를 선택하고 [생성] 버튼을 클릭합니다. image

4-3. 위젯 상자

왼쪽 위젯 상자에서 필요한 위젯들을 선택하여 Main Window에 배치하여 화면을 구성할 수 있습니다. Label 위젯을 선택 후 Main Window 창에 드래그하여 화면에 배치합니다.
image

4-4. 오른쪽 속성 편집기

오른쪽 속성 편집기에서 Label의 이름 등을 변경할 수 있습니다. 속성 편집기에서는 해당 위젯의 속성들을 확인하고 파이썬 프로그래밍에서 해당 위젯과 연결할 때 매우 중요합니다.
objectName, QLabel의 text 값, text의 폰트와 크기 등을 확인할 수 있습니다.

image

4-5. UI 화면 저장 및 파이썬과 연동

메뉴에서 [파일]-[저장]을 선택하여 UI파일을 저장합니다. 확장자는 .ui입니다. 여기서는 main.ui로 저장하겠습니다.

# PyQt5 패키지에서 QtCore, QtGui, QtWidgets 모듈을 가져옵니다. 
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5 import uic

# main.ui 파일 가져오기
form = uic.loadUiType("main.ui")[0] 

# 화면구성이 저장되어 있는 form을 이용한 메인 윈도우 만들기
# form에 저장되어 있는 속성 및 메소드를 모두 상속
# setupUi() 메소드를 통해서 form의 속성 및 메소드를 설정
class App(QMainWindow, form) :
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.setWindowTitle("PyQt5 - Qt Designer") # 제목 표시줄 
        
# QApplication 클래스의 응용프로그램 개체를 만듭니다.
app = QApplication(sys.argv)
window = App()
window.label.setText("Hello World!")
window.label.setStyleSheet("Color : green") # 글자 색 변경
window.label.setFont(QFont("돋움", 20)) # 글꼴 및 크기
window.label.adjustSize() #글자 수 및 크기에 따라 자동으로 조정
window.show()
sys.exit(app.exec_())

image

댓글남기기