2014-07-09 141 views
0

我目前在我的表格中有以下结构 我有一个QFrame(布朗),有一个QScrollArea。现在多个QFrames被动态添加到QScrollArea(灰色)。动态添加的QFrame由QLabel组成。防止QScrollArea显示水平滚动条

enter image description here

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

更新: 我有一个QVBoxLayout的QScrollArea

+0

你如何添加内部框架?你有'QScrollArea'里面的布局吗?如果不是,请考虑添加它。 – SingerOfTheFall

+0

是的,我在QScrollArea里面有一个QVBoxLayout – Rajeshwar

+0

然后你应该弄乱帧的大小策略。对于水平尺寸政策,请尝试“固定”,对垂直方向尝试“最低展开”或类似的东西 – SingerOfTheFall

回答

0

设置适当的水平尺寸政策的动态创建的帧,而他们创造的内部。一个选项是固定大小(QSizePolicy ::固定),另一个是QSizePolicy ::最大(它不是很直观,但实际上最大意味着该框架将不会大于sizeHint()指定的大小函数)。如果您希望小部件垂直展开,请将垂直尺寸政策设置为QSizePolicy :: MinimumExpandingQSizePolicy ::展开式 - 无论适用于您。