PyQt5 - 01 使用qt creator創建第一個pyqt5界面程序


1. 安裝Qt Creator


2. 利用Qt Creator創建界面

點擊文件 -> 新建文件或項目 
新建文件
選擇Qt -> Qt設計師界面類 
新建模版
選擇一個模版,創建一個界面 
選擇模版
之后一路下一步,進入主界面 
主界面
將左面的控件拖入主界面,如圖 
編輯主界面
保存界面文件為.ui格式,如下圖 
保存


3. 將.ui文件轉換為python代碼

  • 安裝pyqt5模塊 pip install pyqt5 或 pip3 install pyqt5
  • 轉換文件 pyuic5 -o dialog.py dialog.ui 根據自身情況替換文件及路徑 
    終端
    下面是轉換后的代碼:
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'dialog.ui' # # Created by: PyQt5 UI code generator 5.10.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(640, 480) self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(370, 80, 113, 32)) self.pushButton.setObjectName("pushButton") self.lineEdit = QtWidgets.QLineEdit(Dialog) self.lineEdit.setGeometry(QtCore.QRect(140, 80, 113, 21)) self.lineEdit.setObjectName("lineEdit") self.textBrowser = QtWidgets.QTextBrowser(Dialog) self.textBrowser.setGeometry(QtCore.QRect(180, 200, 256, 192)) self.textBrowser.setObjectName("textBrowser") self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(30, 80, 111, 16)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(30, 220, 141, 16)) self.label_2.setObjectName("label_2") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.pushButton.setText(_translate("Dialog", "PushButton")) self.label.setText(_translate("Dialog", "這是Line Edit ->")) self.label_2.setText(_translate("Dialog", "這是Text Browser ->"))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

使界面程序運行起來

  • 在生成的代碼結尾添加如下代碼,可使其運行:
def main(): """ 主函數,用於運行程序 :return: None """ app = QtWidgets.QApplication(sys.argv) dialog = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(dialog) dialog.show() sys.exit(app.exec_()) if __name__ == '__main__': main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

完整代碼:

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'dialog.ui' # # Created by: PyQt5 UI code generator 5.10.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets import sys class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(640, 480) self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(370, 80, 113, 32)) self.pushButton.setObjectName("pushButton") self.lineEdit = QtWidgets.QLineEdit(Dialog) self.lineEdit.setGeometry(QtCore.QRect(140, 80, 113, 21)) self.lineEdit.setObjectName("lineEdit") self.textBrowser = QtWidgets.QTextBrowser(Dialog) self.textBrowser.setGeometry(QtCore.QRect(180, 200, 256, 192)) self.textBrowser.setObjectName("textBrowser") self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(30, 80, 111, 16)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(30, 220, 141, 16)) self.label_2.setObjectName("label_2") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.pushButton.setText(_translate("Dialog", "PushButton")) self.label.setText(_translate("Dialog", "這是Line Edit ->")) self.label_2.setText(_translate("Dialog", "這是Text Browser ->")) def main(): """ 主函數,用於運行程序 :return: None """ app = QtWidgets.QApplication(sys.argv) dialog = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(dialog) dialog.show() sys.exit(app.exec_()) if __name__ == '__main__': main() 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

實例01

文章標簽: pythonpyqt5qt creator


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM