阻止QScrollArea显示水平滚动条

时间:2014-07-09 06:52:24

标签: c++ qt

我目前在表单中有以下结构 我有一个QSrame(Brown),它有一个QScrollArea。现在,多个QFrame动态添加到QScrollArea(灰色)。动态添加的QFrame由QLabel组成。

enter image description here

现在问题是我在QScrollArea中禁用了水平滚动条。因此水平滚动条不会显示。问题是当动态添加的QFrame(灰色)添加到QScrollArea时。一半的框架被切断。这是因为我无法水平滚动。我想要的是让动态添加的Qframe垂直展开而不是水平展开。有什么建议吗?

更新: 我在QScrollArea

中有一个QVBoxLayout

1 个答案:

答案 0 :(得分:0)

在创建框架时为动态创建的框架设置正确的水平尺寸策略。一个选项是固定大小( QSizePolicy :: Fixed ),另一个是 QSizePolicy :: Maximum (它不是很直观,但实际上最大意味着框架不会大于 sizeHint()函数指定的大小。如果您希望窗口小部件垂直展开,请将垂直尺寸策略设置为 QSizePolicy :: MinimumExpanding QSizePolicy :: Expanding - 适用于您的任何内容。