參考教程: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