在运行时调整QDialog的大小

时间:2014-07-11 08:21:46

标签: qt user-interface resize qdialog qsizepolicy

我有一个QDialog子类,包含我的应用程序的一些选项。有些选项是核心的,另一些是高级的,所以我决定将它们放入separeted可检查的QGroupBox中。 enter image description here
当用户选中高级选项框时,我希望我的对话框缩小,但我找不到正确的方法 - 对话框大小保持不变 enter image description here
我将对话框的大小政策设置为扩展,尝试调用adjustSize()并尝试调用resize()方法 - 没有任何帮助。我无法将programmaticaly对话框调整为小于当前大小(它只能变大)。同时,可以手动调整大小。 enter image description here
有人能帮助我吗?

1 个答案:

答案 0 :(得分:10)

如果您不需要手动调整大小,可以添加

layout()->setSizeConstraint(QLayout::SetFixedSize);

到对话框构造函数,然后布局接管在显示或隐藏小部件时自动调整大小的责任。