2017-07-31 7 views
0
class SomNetwork(object): 

    def __init__(self, dataset): 
     # some parameters that are not important here 
     pass 

    def one_step_learn(self, k, sigma_0, gamma_0, alfa, mcolor,population_of_ids): 
     pass 

    def learn(self): 
     pass 

class StartQT4(QtGui.QMainWindow): 

    def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui = Ui_QSom() 
     self.ui.setupUi(self) 
     self.frame = MyFrame(self) 
     self.setCentralWidget(self.frame) 
     self.frame.start() 
     self.show() 

class MyFrame(QtGui.QFrame): 

    simulationSpeed = 5000 

    def __init__(self, parent): 
     super(Ramka, self).__init__(parent) 

     self.init_Board() 

    def init_Board(self): 
     self.timer = QtCore.QBasicTimer() 

私はSomNetworkクラスと対話して、そのメソッドを内部から呼び出すことができます。 MyFrameクラスのメソッド。この例に最も適した特別なデザインパターンはありますか、クラスのインスタンスをMyFrameクラスのフィールドとして追加するだけですか?pyqt4のユーザインタフェースにいくつかのアルゴリズムクラスの中で座っているプログラムロジックを埋め込む最良の方法は何ですか?

事前にお手数をおかけしますようお願いいたします。

答えて

0

あなたの質問がこの方向に向かっているのかどうかはわかりませんが、ネットワークではQtCore.QObjectをサブクラス化しようとする可能性があります。全体として、あなたのネットワークをQMainWindowのメンバーとしてインスタンス化する必要があります。そのため、フレームとネットは信号とスロットを介して相互作用できます。

...ところで、QMainWindowのサブクラスでQWidgetのコンストラクタを呼び出すと、コードに少しの欠陥があります。

関連する問題