0
点赞
收藏
分享

微信扫一扫

pyqt5(8)-UI和逻辑分离-菜单和按钮响应示例

小云晓云 2022-03-17 阅读 54
uiqtpython

代码连接:UI-逻辑分离-pyqt5-Python文档类资源-CSDN下载


用qtdesigner修改界面 ,后不影响已写的业务代码。

上图中的4个文件,main.py是主调函数;ui_UISeparate.ui是qtdesigner编辑的UI文件;ui_UISeparate.py对于UI的python文件;ui_UISeparate.py是加了业务代码的文件。
1.main.py
 

import sys

from PyQt5.QtWidgets import QApplication

from pretest.cui_UISeparate import CUi_MainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWindow = CUi_MainWindow()
    mainWindow.show()
    sys.exit(app.exec_())

2.cui_UISeparate.py

from PyQt5.QtWidgets import QMainWindow, QApplication

from pretest.ui_UISeparate import Ui_MainWindow

class CUi_MainWindow(QMainWindow, Ui_MainWindow): #继承于UI父类
    def __init__(self, parent=None):
        super(CUi_MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.actionExit.triggered.connect(self.onExitTriggered)  #业务代码
        self.actioncopy.triggered.connect(self.oncopyTriggered)
        self.actionpaste.triggered.connect(self.onpasteTriggered)
        self.actionedit.triggered.connect(self.oneditTriggered)  

        self.a = 0
        self.pushButton.clicked.connect(self.clicked_button)
    #    self.pushButton.clicked.connect(self.btn)  

    def clicked_button(self):
        print("clicked btn")
        self.a += 1
        self.label.setText(str(self.a))
    def btn(self):
        print("btn")

    def onExitTriggered(self):
        print('Exit triggered.')

    def oncopyTriggered(self):
        print('Copy triggered.')

    def oneditTriggered(self):
        print('Edit triggered.')

    def onpasteTriggered(self):
        print('Paste triggered.')
举报

相关推荐

0 条评论