pyQt - как сделать выбор виджетов на основе QGroupBox - PullRequest
1 голос
/ 20 января 2011

В моем приложении У меня три одинаковых QGroupBox с несколькими кнопками.

Я хочу иметь одинаковые имена для кнопок и доступ к ним через имя QGroupBox.

Это возможно?

QGroupBox_one.button_export
QGroupBox_one.button_import

QGroupBox_two.button_export
QGroupBox_two.button_import

Чем я мог бы сделать метод с QGroupBox в качестве параметра и проще настроить кнопки. Спасибо.

1 Ответ

1 голос
/ 20 января 2011

Я думаю, что чистый способ сделать то, что вы хотите, это создать новый класс (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_()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...