代码连接: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.')