如何设置QWidget的宽度?

35

如何设置 QWidget 的宽度?我知道可以使用 setGeometry(QRect& rect) 函数来实现,但在这种情况下,我需要使用 geometry() 函数来获取我的 QWidget 的旧参数,然后增加宽度并使用 setGeometry(..)。是否有更直接的方法,即:

QWidget aa;
aa.setWidth(165); //something like this?
4个回答

67

resize()可能更好用。

使用示例:

widget->resize(165, widget->height());

如果内容大于小部件,小部件将不会调整大小。在这种情况下,请将所有内容放置在QScrollarea的顶部。然后它会自动调整大小并显示滚动条。 - Hareen Laks

15
widget->resize(165, widget->height());

6

QWidget参考文档。

尝试检查所有可用的"yyysize"方法(因为Qt小部件有不同的大小策略,您可能需要一些特殊的设置)。

基本上,是resize(...)


你为什么要链接到4.2的文档?虽然这不是关键问题,但4.6是最新的完整版本。 - Troubadour
1
最好把它升级到5.7版本 :P - NirIzr

5
如果宽度不会改变,您可以使用setFixedWidth函数:
widget->setFixedWidth(165);

同样地,要在不改变宽度的情况下更改高度,可以使用setFixedHeight


永远不要使用固定宽度!对于各种分辨率,这将无法正常工作。 - Tomas
你将来不能改变你的大小。这是一个糟糕的答案。 - user10609288

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接