PyQt4 GUI的我的类MainWindow(QMainWindow)
现在已经增长,我想以某种方式拆分它。问题是所有处理信号的函数都是非常相互关联的,并且会影响类的其他功能。有没有办法将它分成几个类/文件?也许将所有信号分成一个类?我真的不明白如何在技术上做到这一点......我也听说Qt(或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()
...
答案 0 :(得分:1)
在我的应用程序中,我这样做了,主窗口包含子窗口小部件(框架和东西......),主窗口基本上做两件事:初始化它的子节点并连接它们之间的信号。像这样你有一个视图层次结构,这对于处理那么重要的事情要简单得多。
我认为从你的程序到一个更加层次化的程序没有一个无痛的举动,我可以说:你应该尽早,但我没有。 = P 为了设计主窗口及其孩子,QTdesigner非常方便。
是的,AFAIK类不应该继承多个PyQt类。