2012-03-14 177 views
1

我正在使用QHBoxLayout来显示5个水平对齐的小部件。在qlayout中隐藏小部件

如果我隐藏并显示一个小部件,它将被调整大小。我如何防止这种情况发生?

回答

2

你不能。如果您隐藏了一个小部件,它将从屏幕上消失,其他所有部分将被调整大小/重新排序以尽可能地适应可用空间。

但是,你可以用间距替换你的小部件,比照。 QBoxLayout::addSpacingQBoxLayout::addSpacerItem您将其设置为您隐藏的小部件的宽度。

+0

我记得我在某处读过类似的东西,但现在找不到它。你知道它在什么地方说布局时不应该隐藏小部件吗? – 2012-03-14 13:11:00

+0

@VJovic:对不起,我没有报价得心应手。这只是我做这件事的方式。另外,你也许可以利用'QGridLayout',它具有'setColumnMinimumWidth()'函数,但我不确定这一点。 – arne 2012-03-14 13:21:36

+2

看到我的回答,我展示了如何在布局中保留空白区域的同时隐藏小部件。它不需要插入任何临时布局项目。 http://stackoverflow.com/questions/10794532/how-to-make-a-qt-widget-invisible-without-changing-the-position-of-the-other-qt/10840906#10840906 – 2012-06-01 19:06:19

相关问题