• 【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
  • 相关阅读:
    饿了么ElementUI table遇到的问题
    Window命令行杀进程
    网络监控流量工具
    记一次Linux系统被入侵的过程
    sftp ftp文件同步方案
    清除oracle归档日志
    TCP连接复用
    Sftp搭建与配置参考
    setfacl命令
    tips
  • 原文地址:https://www.cnblogs.com/danhuai/p/13975496.html
Copyright © 2020-2023  润新知