2010-06-14 29 views
0

我有一個vBoxLayout其中包含3個簡單的按鈕,當我增加包含佈局的小部件的大小,按鈕之間的間距增加。我想停止這種行爲並將按鈕保持爲一致且緊湊的佈局,而不管父窗口小部件的大小如何。這是我到目前爲止,但它不會改變間距,任何建議?,謝謝。如何創建一個緊湊的Qt4 vBoxLayout

button_layout = new QVBoxLayout ; 
    button_layout -> setSpacing(0); 
    button_layout -> setContentsMargins(0,0,0,0); 
+0

也許按鈕有一個固定的高度? – humbagumba 2010-06-14 15:41:47

回答

1

你會想可拉伸墊片添加到佈局:

button_layout = new QVBoxLayout ; 
button_layout -> setSpacing(0); 
button_layout -> setContentsMargins(0,0,0,0); 
button_layout -> addStretch(); 
button_layout -> addWidget(button_1); 
button_layout -> addWidget(button_2); 
button_layout -> addWidget(button_3); 

這將導致按鈕永遠是對含有小部件的底部。請注意,如果您的小部件以這種方式展開,則水平部分仍然會伸展;要解決這個問題,您需要換行(HBox)佈局或切換到網格佈局。

+0

哇,謝謝,我直覺上認爲這些延伸實際上與你所描述的相反。 – 2010-06-14 21:13:01