qt – 当更多的小部件被放置在内部时,如何调整QScrollArea的内容大小

我有一个QScrollArea小部件,开始空;

它具有垂直布局,带有QGridLayout和垂直间隔件,可将其保持在顶部,并防止其在整个滚动区域上伸展;

在程序的其他地方,有一个QTextEdit,当更改时,其内容扫描“种”元素,然后将它们添加到QGridLayout.已删除的任何物种元素都被删除.这一点工作;

我已经转动垂直滚动条,所以当它出现它不会坐在其他东西的顶部.请注意,滚动条大于已经存在的滚动框,尽管不需要.

这就是问题.滚动区域似乎已预设,我无法更改.如果我添加更多行到QGridLayout,滚动区域的大小不会增加.

相反,它保持相同的大小,并挤压了QGridLayout,使它看起来很丑(起初);

然后加入更多,变得不可用;

请注意,滚动条仍然与以前的图像大小相同.前两个图像来自Qt Designer,其后3个来自程序运行.

如果我调整窗口大小以使QScrollArea增长,那么我看到:

指示滚动区域内没有正确调整大小的布局.

我的问题是当我从QGridLayout添加和删除时,我需要做些什么来使widget的可滚动区域动态调整大小?

最佳答案
documentation提供了一个答案:

widgetResizable : bool
This property holds whether the scroll area should resize the view widget.
If this property is set to false (the default), the scroll area honors the size of its widget.

将其设置为true.

转载注明原文:qt – 当更多的小部件被放置在内部时,如何调整QScrollArea的内容大小 - 代码日志