删除qt小部件时删除空间

问题描述 投票:0回答:1

我有一个网格布局,其上有4个组框。当我尝试使用groupBox->hide()隐藏其中一个QGroupBox时,组框不再可见。但是空间被保留在布局中(我没有使用QSizePolicy来保留空间)

如何确保剩余小部件自动使用空间?

enter image description here

在图片中,我隐藏了“第2组”。我希望Group 3自动填满空间。我该怎么做呢?

c++ qt qt4
1个回答
0
投票

为了使布局能够执行您想要的操作,其子窗口小部件必须“正常”运行。即如果您的某个组合框包含垂直间隔,则可能会弄乱您的布局。

我发现将样式表设置为toplevel小部件有助于调试布局问题:

pWidget->setStyleSheet("border: 1px solid red;");

这将在(某些)小部件周围绘制红色边框,并阐明谁使用哪个空间。

您可以尝试在第三组框下面添加一个垂直间隔,以将它们全部向上“推”。如果其中一个组框被设置为不可见,则其他组应该被推高,组框1和3之间的空间应该消失。

© www.soinside.com 2019 - 2024. All rights reserved.