移除删除qt小部件的空间

移除删除qt小部件的空间

问题描述:

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

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

enter image description here

在图片中,我已经隐藏 '2组'。我希望第3组自动填充空间。我该怎么做呢?

+0

您希望组3移动到最高位置,但在此之前有两种情况,第一种是更新小部件的大小,第二种是留出空间。你想要哪一个? – eyllanesc

+0

@eyllanesc我想更新小部件的大小(不留任何空间) – akashrajkn

+0

你使用setAlignment(Qt :: AlignTop); –

为了使布局达到您想要的效果,其子部件必须“正确”运行。 也就是说如果其中一个组框包含垂直间隔符,则可能会弄乱您的布局。

我发现一个样式表设置为顶层窗口小部件调试布局问题帮助:

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

这将周围画一个红色边框(一些)小部件和澄清谁使用它的空间。

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