QScrollArea 小部件未使用流布局展开

QScrollArea widget is not expanding with a Flowlayout

本文关键字:流布局 未使用 小部 QScrollArea      更新时间:2023-10-16

我有一个带有QScrollArea小部件的UI。QScrollArea使用流布局。我的问题是当我将小部件添加到我的布局时,滚动区域开始滚动,并且在有空间扩展时不会扩展。我希望滚动区域在滚动条首先出现之前扩展到其极限。

如何在滚动条出现之前展开滚动区域?

你能尝试为你QScrollAreasetWidgetResizable(true)

ScrollArea->setWidgetResizable(true);

一些建议:

  1. 确保滚动区域本身的大小策略为"正在扩展"。
  2. 将滚动区域大小策略的"拉伸"值设置为大于同一布局中其他小部件的值。 即:

    QSizePolicy policy = pScrollArea->sizePolicy()
    policy.setVerticalStretch(1);
    policy.setHorizontalStretch(1);
    

    这假定滚动区域的同级(如果有)的拉伸值为 0(默认值)。

  3. 对滚动区域进行子类化并重写 sizeHint() 方法。