我有一个带有QScrollArea
小部件的UI。QScrollArea
使用流布局。我的问题是当我将小部件添加到我的布局时,滚动区域开始滚动,并且在有空间扩展时不会扩展。我希望滚动区域在滚动条首先出现之前扩展到其极限。
如何在滚动条出现之前展开滚动区域?
你能尝试为你QScrollArea
做setWidgetResizable(true)
ScrollArea->setWidgetResizable(true);
一些建议:
- 确保滚动区域本身的大小策略为"正在扩展"。
-
将滚动区域大小策略的"拉伸"值设置为大于同一布局中其他小部件的值。 即:
QSizePolicy policy = pScrollArea->sizePolicy() policy.setVerticalStretch(1); policy.setHorizontalStretch(1);
这假定滚动区域的同级(如果有)的拉伸值为 0(默认值)。
-
对滚动区域进行子类化并重写
sizeHint()
方法。