[Python] GUI(PYQT5_추천)
PyQt5를 활용한 GUI 개발 방법과 QT Designer를 이용한 디자인 제작을 알아보자
- PYQT5 라이브러리 사용
- QT 디자이너 프로그램을 활용해 GUI를 제작하기 편하다는 큰 장점!!
- QT 디자이너 사용 제작 (디자인)
- .UI -> .PY 파일로 변환
- PY 파일로 변환된 파일로 코딩(PYQT5 코드 변경)
1. QT 디자이너
-
구글에서 검색후 간단히 설치
-
드래그 앤 드롭으로 GUI 제작
함수연결
함수를 연결 해놔야 버튼같은것을 클릭했을때 동작을 py에서 작성할 코드를 수행할테니 꼭 연결!
- Edit Signals/Slots 아이콘을 사용
- 버튼같은 곳에 클릭후 드래그앤 드롭으로 공란에 끌어다 준다.
- 함수를 설정해준다(예 : click()에 start()함수 새로 edit해서 적용)
저장(Save as)
- Ui로 저장을 하게된다.
UI -> PY 변환
- cmd -> cd를 통한 경로 접근 ->
pyuic5 -x 파일이름.ui -o 파일이름.py
- PYQT5로 변경된 코드를 볼 수 있다!!
2. 시작 파일 생성
starter.py파일을 만들어서 이 파일로 우리가 만든 GUI를 실행한다
단, from automatic import Ui_MainWindow 부분 반드시 수정 필요!
import sys
from automatic import Ui_MainWindow # 수정 부분(from뒤에 QT로 만든 파일이름을 적어주면 됨)
from PyQt5 import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class kinwriter(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
# self.timer = QTimer(self)
# self.timer.setSingleShot(False)
# self.timer.setInterval(5000) # in milliseconds, so 5000 = 5 seconds
# # self.timer.timeout.connect(self.start_Macro)
# self.timer.start()i0nscn2kdlr2k
#print(self.hasMouseTracking())
self.show()
app = QApplication([])
sn = kinwriter()
QApplication.processEvents()
sys.exit(app.exec_())
코드 수정(QT에서 만든 함수 추가)
이 부분을 하지않고 starter파일 실행시 에러
# QT디자이너로 만든 파일이름.py의 코드를 수정
# 예로 start(), stop() 함수 만들었다고 가정
def start() # 예시일 뿐이니까 코드 작성은 하지 않겠다
pass
def stop()
pass
이처럼 적절한 공간에 함수 선언해두면 starter가 문제없이 실행될 것이다.
댓글남기기