반응형
Qt Designer?
- PyQt로 GUI 프로그래밍을 할 때 쉽게 레이아웃을 편집할 수 있도록 도와주는 편집기.
- 아나콘다를 설치하면 PyQt5와 함께 자동으로 설치됨
- Qt Designer 없이 파이썬 코드만으로도 GUI 프로그래밍이 가능하긴함
1. Qt Designer 실행
- Anaconda Prompt 열기
- designer 입력
2. ui 파일 생성
- Main Window 선택 후 [ 생성(R) ]
- 좌측 위젯 상자에서 [ Push Button ] 을 MainWindow로 드래그 앤 드롭
* 원하는 위젯을 좌측 위젯 상자에서 윈도우창에 드래그 앤 드롭으로 위젯을 추가할 수 있다.
- [ PushButton ] 선택 후 우측 속성 편집기 -> objectName 변경 -> [ testBtn ]
* objectName은 파이썬 코드에서 ui 파일의 위젯과 연결 시 식별을 위해 사용된다.
3. ui 파일 저장
- 파이썬 프로젝트를 만들 경로에 원하는 이름으로 저장
4. 파이썬 코드 작성
- 필요한 모듈 불러오기
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QMainWindow
- ui 파일 불러오기
form_class = uic.loadUiType("./test.ui")[0]
- 윈도우 클래스 선언
class WindowClass(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
- 메인 선언
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = WindowClass()
myWindow.show()
app.exec_()
- 전체 코드
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QMainWindow
form_class = uic.loadUiType("./test.ui")[0]
class WindowClass(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__ == "__main__":
app = QApplication(sys.argv)
myWindow = WindowClass()
myWindow.show()
app.exec_()
5. 버튼 클릭 함수 연결
- 버튼 클릭 시 실행할 함수 만들기(WindowClass 내에 생성)
def btnClick(self):
print("버튼이 클릭되었습니다.")
- [ testBtn ] 과 연결
self.testBtn.clicked.connect(self.btnClick)
- WindowClass 전체 코드
class WindowClass(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.testBtn.clicked.connect(self.btnClick)
def btnClick(self):
print("버튼이 클릭되었습니다.")
6. 실행 후 확인
반응형
댓글