PyQt4 GUIのクラスMainWindow(QMainWindow)
が大きくなり、何とか分割したいと考えています。問題は、シグナルを処理するすべての多数の関数が非常に相互接続されており、クラスの他の関数に影響を与えることです。それをいくつかのクラス/ファイルに分割する方法はありますか? たぶん、すべての信号を 1 つのクラスに分けますか? 技術的にそれを行う方法がよくわかりません...また、多重継承に対して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()
...