2012-03-14 172 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

相關問題