2011-01-20 9 views
1

私のアプリケーションでは、 私はいくつかの押しボタンを持つ3つの同じQGroupBoxを持っています。pyQt - QGroupBoxに基づいてウィジェットの選択を行う方法

プッシュボタンとQGroupBoxの名前を使って同じ名前を付けたいとします。

これは可能ですか?

QGroupBox_one.button_export 
QGroupBox_one.button_import 

QGroupBox_two.button_export 
QGroupBox_two.button_import 

パラメータとしてQGroupBoxを使用してメソッドを作成し、ボタンをより簡単に設定できます。おかげさまで

答えて

1

私はあなたが必要とすることを行うクリーンな方法は、あなたが必要とするプッシュボタンとconfigureメソッドを持つ新しいクラス(MyQGroupBoxes)を作ることだと思います。

from PyQt4 import QtGui 

class MyQGroupBoxes(QtGui.QGroupBox): 
    def __init__(self, parent): 
     QtGui.QGroupBox.__init__(self, parent) 

     self.button_export = QtGui.QPushButton("Export", self) 
     self.button_import = QtGui.QPushButton("Import", self) 

     layout = QtGui.QVBoxLayout(self) 
     self.setLayout(layout) 

     layout.addWidget(self.button_export) 
     layout.addWidget(self.button_import) 

    def config_export(self): 
     # config your button 
     pass 

    def config_import(self): 
     # config your button 
     pass 

if __name__ == "__main__": 

    app = QtGui.QApplication(sys.argv) 

    my_box1 = MyQGroupBoxes(None) 
    my_box2 = MyQGroupBoxes(None) 

    my_boxes = [my_box1, my_box2] 

    # Config all the boxes 
    for my_box in my_boxes: 
     my_box.config_export() 
     my_box.config_import() 

     my_box.show() 

    app.exec_() 
+0

私はpyQtデザイナーを使用していますので、私はGUIデザインで空のグループボックスを作成します。そして、このMyQGroupBoxesクラスでそれらを記入してください。ありがとう。 – Meloun

関連する問題