0

我想要一个 QWidget 的多个孩子。但是,当我多次设置一个孩子时,只会显示最后一个要设置的孩子。最终目标是将这个小部件放在 QScrollArea 中。这是我当前的代码:

class EditDialog(QDialog):
    def __init__(self,widget):
        super(EditDialog, self).__init__()

        self.scroller = QScrollArea()
        self.form = QWidget()
        self.lab = QLabel(self.form)
        self.lab.setText("Label")
        self.edit = QLineEdit(self.form)
        self.edit.setText("LineEdit")
        self.but = QPushButton("PushButton",self.form)
        self.scroller.setWidget(self.form)

        self.layout = QVBoxLayout()
        self.layout.addWidget(self.scroller)
        self.setLayout(self.layout)

        self.exec_()

但是,仅显示 QPushButton。如果这是一个愚蠢的问题,我深表歉意,但我在 Google 上找不到任何对我有帮助的东西。

编辑:
我尝试将这些小部件(标签、按钮和行编辑)放在布局中,但是一旦你获得了相当多的小部件,它们就会根据 QScrollArea 的大小开始调整大小。我不希望这样,我希望它们保持相同的大小,而不是依赖于 QScrollArea 的大小。

4

1 回答 1

1

您需要将小部件添加到布局中。像这样的东西会给你的布局添加标签、行编辑和按钮。

self.layout.addWidget(self.lab)
self.layout.addWidget(self.edit)
self.layout.addWidget(self.but)
于 2013-05-19T08:00:17.680 回答