参考教程:https://www.cnblogs.com/lovesoo/p/12491361.html
1、创建UI文件
2、UI文件转换为python文件
3、转换后的python文件
from PyQt5 import QtCore, QtGui, QtWidgets # 此文件仅修改触发的方法即可(如:accept 修改为 test_a) class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(646, 696) self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(270, 320, 191, 111)) self.pushButton.setObjectName("pushButton") self.retranslateUi(Dialog) self.pushButton.clicked.connect(Dialog.test_a) # 修改为触发的方法 QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.pushButton.setText(_translate("Dialog", "1"))
4、新建控制层代码
import sys from PyQt5.QtWidgets import QApplication, QDialog from common.pyqt import test from common.pyqt.luoji import LuoJi class MyDialog(QDialog): """ 此类为新建的类(UI窗体是什么就继承什么 这里是Dialog 就继承QDialog) 主要功能: 1、程序启动 2、充当界面与后端连接的桥梁 """ def __init__(self, parent=None): super(QDialog, self).__init__(parent) self.ui = test.Ui_Dialog() # test.Ui_Dialog() test:为ui文件转换后的python文件 self.ui.setupUi(self) def test_a(self): """ 点击按钮触发的函数 """ # step1 获取界面数据 value = int(self.ui.pushButton.text()) # 获取按钮文本 # step2 界面数据传给后台数据逻辑处理层 result = LuoJi.number_add(value) # step3 处理后的数据 反馈给界面 self.ui.pushButton.setText(str(result)) # 设置按钮文本(在原来的数字值上+1) # 以下代码基本不用修改 if __name__ == '__main__': QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) # 加上这句(运行后 与设计师里的一样) my_app = QApplication(sys.argv) myDlg = MyDialog() myDlg.show() sys.exit(my_app.exec_())
5、后台数据逻辑处理层
class LuoJi: @staticmethod def number_add(value: int): """ 入参加一 :param value: :return: """ return value + 1