【Python】【界面】+Pyqt5 快速開始(demo)


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

 


免責聲明!

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



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