Qt5: 如何使窗口滚动而不是在将行添加到 QFormLayout 时展开?(蟒蛇 3)



我设置了一个这样的窗口:

vbox = QVBoxLayout()
groupBox = QGroupBox()
formLayout = QFormLayout()
groupBox.setLayout(formLayout)
vbox.addWidget(groupBox)

我还有两个按钮,用于从表单布局中添加行和删除行。

当我添加太多行以致它们无法容纳在定义的窗口中时,窗口将垂直扩展。删除行后,窗口将保持展开的大小。

相反,我希望区域滚动,以便新行仅在定义的窗口大小内可见,并且除非用户手动展开窗口,否则窗口不会展开。如何添加滚动功能并防止窗口扩展?

我已经想通了。您可以使用 QScrollArea((,如下所示:

vbox = QVBoxLayout()
groupBox = QGroupBox()
formLayout = QFormLayout()
groupBox.setLayout(formLayout)
scroll_area = QScrollArea()
scroll_area.setWidgetResizeable(True)
scroll_area.setWidget(groupBox)
vbox.addWidget(scroll_area)
这将创建一个窗口,该

窗口不会更改其大小,而是在向 formLayout 添加更多行时自动添加滚动条。

相关内容

  • 没有找到相关文章

最新更新