pyQt - 如何基于QGroupBox进行小部件选择

时间:2011-01-20 14:50:06

标签: python qt pyqt

在我的申请中, 我有三个相同的QGroupBox和一些按钮。

我希望按钮具有相同的名称,并通过QGroupBox名称访问它们。

这可能吗?

QGroupBox_one.button_export
QGroupBox_one.button_import

QGroupBox_two.button_export
QGroupBox_two.button_import

我可以用QGroupBox作为参数制作方法,并且更容易配置按钮。 感谢。

1 个答案:

答案 0 :(得分: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_()