6

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

如何在滚动条出现之前让滚动区域扩大?

4

2 回答 2

6

你能试着setWidgetResizable(true)为你做吗QScrollArea

ScrollArea->setWidgetResizable(true);
于 2013-02-01T06:29:53.003 回答
0

几个建议:

  1. 确保滚动区域本身的大小策略为 Expanding。
  2. 将滚动区域的大小策略的“拉伸”值设置为大于同一布局中其他小部件的值。IE:

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

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

  3. 子类化滚动区域并覆盖该sizeHint()方法。

于 2013-02-08T17:31:12.523 回答