Python3,Pyqt4:为GUI控件拆分大型类
我的PyQt4 GUI类Python3,Pyqt4:为GUI控件拆分大型类,python,oop,qt4,python-3.x,pyqt4,Python,Oop,Qt4,Python 3.x,Pyqt4,我的PyQt4 GUI类MainWindow(QMainWindow)现在已经增长,我想以某种方式拆分它。问题在于,所有处理信号的众多函数都是相互关联的,并且会影响该类的其他函数。有没有办法把它分成几个类/文件?也许把所有信号分成一类?我真的不明白技术上怎么做。。。我还听说Qt(或PyQt)对多重继承有一些限制,这可以解决我猜想的问题(同样,我不清楚具体如何) 正如现在看起来的一样(当然非常简单): 在我的应用程序中,我是这样做的,主窗口包含子窗口小部件(框架和东西…),主窗口基本上做两件事:初
MainWindow(QMainWindow)
现在已经增长,我想以某种方式拆分它。问题在于,所有处理信号的众多函数都是相互关联的,并且会影响该类的其他函数。有没有办法把它分成几个类/文件?也许把所有信号分成一类?我真的不明白技术上怎么做。。。我还听说Qt(或PyQt)对多重继承有一些限制,这可以解决我猜想的问题(同样,我不清楚具体如何)
正如现在看起来的一样(当然非常简单):
在我的应用程序中,我是这样做的,主窗口包含子窗口小部件(框架和东西…),主窗口基本上做两件事:初始化子窗口并连接它们之间的信号。这样,您就有了一个视图层次结构,处理一件大事要简单得多 我认为从你的程序到一个更高层次的程序并不是无痛的,我可以说:你应该早一点想到这一点,但我没有=P 设计主窗口及其子窗口非常方便 是的,类不应该从多个PyQt类继承
calss MainWindow(QMainWindow):
...
def f1(self):
if self.a1 == '...':
...
def f2(self):
if self.a2 == '...':
...
def update(self):
self.f3()
self.f4()
self.lineEdit.setText(self.a3)
...
...
def on_radioButton_toggled(self):
if self.radioButton.isChecked():
self.a1 = '...'
def on_comboBox_currentIndexChanged(self):
if self.checkBox.isChecked():
self.a2 = '...'
self.f1()
else:
self.f2()
self.update()
...