QScrollArea小部件未使用Flowlayout进行扩展

时间:2013-01-31 20:56:51

标签: c++ qt flowlayout qscrollarea

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

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

2 个答案:

答案 0 :(得分:4)

你可以尝试为你的QScrollArea

做setWidgetResizable(true)

ScrollArea-> setWidgetResizable(真);

答案 1 :(得分:0)

一些建议:

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

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

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

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