如何创建一个紧凑的Qt4 vBoxLayout

时间:2010-06-14 15:29:04

标签: c++ qt4

我有一个包含3个简单按钮的vBoxLayout,当我增加包含布局的小部件的大小时,按钮之间的间距会增加。无论父窗口小部件的大小如何,我都希望停止此行为并使按钮保持一致且紧凑的布局。这是我到目前为止所得到的,但它并没有改变间距,任何建议?,谢谢。

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

1 个答案:

答案 0 :(得分: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)布局或切换到网格布局。