Qt - 如何在QLayout中控制小部件大小

时间:2010-11-19 12:23:57

标签: c++ user-interface qt

我正在尝试在布局中放置一些旋转框,行编辑。但规模扩大的程度超过了必要性。下图是这个数字 alt text

这里我将QScrollArea小部件和QVBoxLayout添加到QHBoxLayout中。然后我将行编辑,旋转框添加到QVBoxLayout中。但我想将宽度减小为总宽度的2/10。有人可以帮助我吗?

4 个答案:

答案 0 :(得分:7)

在我看来,使用拉伸因子并不是正确的解决方案。这有点“hackish”。拉伸因子是有用的,例如当你有两个小部件时,它们都使用尽可能多的空间,但速度不是50:50。

在这里,正如我所看到的,你有两个小部件(或小部件组),其中一个应该只使用它真正需要的空间,另一个应该采取其余的。这就是规模政策的用途。将左侧的水平政策设置为Expanding(如果您想阻止滚动条,则设置为MinimumExpanding),将右侧的水平政策设置为Preferred

答案 1 :(得分:3)

这很容易。它可以通过给出拉伸因子来完成。这意味着您必须在使用函数时启动该值

addWidget(widget,stretchfactor);
       or
addLayout(layout,stretchfactor);

答案 2 :(得分:0)

我认为您应该尝试使用void setSizeConstraint ( SizeConstraint )minimumSize()继承的方法。

Read the doc

答案 3 :(得分:0)

看看QSizePolicy。它可能很有用。