我有一个包含3个简单按钮的vBoxLayout,当我增加包含布局的小部件的大小时,按钮之间的间距会增加。无论父窗口小部件的大小如何,我都希望停止此行为并使按钮保持一致且紧凑的布局。这是我到目前为止所得到的,但它并没有改变间距,任何建议?,谢谢。
button_layout = new QVBoxLayout ;
button_layout -> setSpacing(0);
button_layout -> setContentsMargins(0,0,0,0);
答案 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)布局或切换到网格布局。