2011-01-20 34 views
1

在我的應用程序, 我有三個相同的QGroupBoxes與一些按鈕。pyQt - 如何使基於QGroupBox的小部件選擇

我想要通過QGroupBox名稱爲按鈕和訪問相同的名稱。

這可能嗎?

QGroupBox_one.button_export 
QGroupBox_one.button_import 

QGroupBox_two.button_export 
QGroupBox_two.button_import 

比我可以使用QGroupBox作爲參數的方法和配置按鈕更容易。 謝謝。

回答

1

我認爲一個乾淨的方式來做你想做的是創建一個新的類(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設計中創建了空的groupBoxes。並用這個MyQGroupBoxes類填充它們。謝謝。 – Meloun 2011-01-24 09:17:36