2021. 6. 28. 08:32ㆍGUI Programming/PyQT5 (GUI Programming)
[우선 따라해보는 Python]
https://github.com/Mr-DooSun/pyqt5-gui/blob/master/ex1_Mainwindow/mainwindow.py
Python에는 여러개의 GUI 프로그램들이 있습니다
저는 pyqt5를 이용하여 GUI프로그래밍을 시작해보도록하겠습니다
우선 pyqt5를 사용하기 위해서는 pip를 이용하여 pyqt5를 다운해줍니다
그리고 pyqt5는 designer라는것을 이용하여 드래그 앤 드롭 형식으로 쉽게 UI를 구성할수있어 함께 다운해줍니다
[ Window ]
pip install pyqt5
pip install pyqt5-tools
[ Raspbian ]
sudo apt-get install python-pyqt5
sudo apt-get install python-pyqt5-tools
or
sudo apt-get install python3-pyqt5
sudo apt-get install python3-pyqt5-tools
다운이 끝나면 designer 프로그램을 켜줍니다
보통 [ Python\Lib\site-packages\pyqt5_tools ] 이경로에 designer 프로그램이 있습니다.
켜주시면 아래 사진과 같은 화면이 뜹니다 Main Window를 클릭 해준뒤 Create를 눌러줍니다
그리고 파일을 저장해줍니다 ( ui 파일 형식으로 저장됩니다 )
그리곤 해당 ui파일이 있는 파일 경로로 가서 cmd를 켜줍니다
아래의 명령어를 치시면 해당 ui파일이 py파일로 변환 됩니다
pyuic5 ui파일 -o py파일
pyuic5 mainwindow.ui -o mainwindow.py
그럼 아래 소스코드와 같이 변환됩니다
하지만 이상태로 소스코드를 돌리면 아무런 반응이 없을겁니다.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
아무런 반응이 없을경우 호출을 안한경우이니 당황하지마시고
아래 소스코드를 추가하여 실행을 해줍니다
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
실행 해주시면 아래와 같은 화면이 뜰겁니다
그럼 성공입니다
다음은 label을 추가해보도록 하겠습니다
'GUI Programming > PyQT5 (GUI Programming)' 카테고리의 다른 글
[PyQT5] Opencv를 이용하여 Pyqt5 Youtube view 만들기 (How to watch youtube in pyqt5 - 2) [6] (0) | 2021.06.28 |
---|---|
[PyQT5] Pyqt5 QWebView를 이용하여 Youtube view 만들기 (How to watch youtube in pyqt5 - 1) [5] (0) | 2021.06.28 |
[PyQT5] Button clicked 사용해보기 [4] (2) | 2021.06.28 |
[PyQT5] Pixmap 이용하여 Picture,Image (사진, 이미지 출력하기) [3] (6) | 2021.06.28 |
[PyQT5] Label 생성 / 텍스트 출력 / 편집 하기 ( 폰트, 글자색, 크기 ) [2] (1) | 2021.06.28 |