一、环境搭建
直接pip安装即可:
pip install PyQt5
pip install pyqt5-tools
二、Qt Designer设计GUI
Qt Designer 是通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计。最终生成.ui文件,可以通过pyuic5工具转换成.py文件。
打开designer.exe;界面如下
1 生成界面代码: 使用命令:pyuic5 -o Test.py Test.ui
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'Test.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(730, 478)self.pushButton = QtWidgets.QPushButton(Form)self.pushButton.setGeometry(QtCore.QRect(70, 190, 93, 28))self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(Form)self.pushButton_2.setGeometry(QtCore.QRect(230, 190, 93, 28))self.pushButton_2.setObjectName("pushButton_2")self.label = QtWidgets.QLabel(Form)self.label.setGeometry(QtCore.QRect(0, 20, 61, 16))font = QtGui.QFont()font.setPointSize(10)self.label.setFont(font)self.label.setAlignment(QtCore.Qt.AlignCenter)self.label.setObjectName("label")self.textBrowser = QtWidgets.QTextBrowser(Form)self.textBrowser.setGeometry(QtCore.QRect(70, 10, 391, 31))self.textBrowser.setObjectName("textBrowser")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "PushButton"))self.pushButton_2.setText(_translate("Form", "PushButton"))self.label.setText(_translate("Form", "输入1"))
2 创建调用该界面代码的文件call_Test.py
#导入程序运行必须模块
import sys
#PyQt5中使用的基本控件都在PyQt5.QtWidgets模块中
from PyQt5.QtWidgets import QApplication, QMainWindow
#导入designer工具生成的login模块
from Test import Ui_Formclass MyMainForm(QMainWindow, Ui_Form):def __init__(self, parent=None):super(MyMainForm, self).__init__(parent)self.setupUi(self)
if __name__ == "__main__":#固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行app = QApplication(sys.argv)#初始化myWin = MyMainForm()#将窗口控件显示在屏幕上myWin.show()#程序运行,sys.exit方法确保程序完整退出。sys.exit(app.exec_())
3 VScode运行效果