【问题标题】:Multiple child widgets in pysidepyside中的多个子小部件
【发布时间】:2013-05-12 01:53:07
【问题描述】:

我想要一个 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 的大小。

【问题讨论】:

    标签: python widget parent-child pyside children


    【解决方案1】:

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

    self.layout.addWidget(self.lab)
    self.layout.addWidget(self.edit)
    self.layout.addWidget(self.but)
    

    【讨论】:

    • 是的,我也想过,但是一旦你得到更多的小部件,它们会根据 QScrollArea 的大小调整大小。
    猜你喜欢
    • 2020-03-09
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多