Как создать компактный Qt4 vBoxLayout - PullRequest
0 голосов
/ 14 июня 2010

У меня есть vBoxLayout, который содержит 3 простых кнопки. Когда я увеличиваю размер виджета, содержащего макет, расстояние между кнопками увеличивается.Я хотел бы остановить это поведение и сохранить кнопки в последовательном и компактном макете, независимо от размера родительского виджета.Это то, что я до сих пор, но это не меняет интервал, какие-либо предложения ?, спасибо.

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

1 Ответ

1 голос
/ 15 июня 2010

Вы захотите добавить растягиваемую прокладку к макету:

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) макет, либо переключиться на макет сетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...