Автоматическое расширение макета с помощью Qt-Designer


Я использую Qt Designer.

Я хочу создать QVBoxLayout который будет автоматически расширяться, чтобы заполнить все окно.

расположение QVBoxLayout остается неподвижной.

как я могу причинить QVBoxLayout чтобы развернуть и заполнить все окно через конструктор?

5 176

5 ответов:

после создания QVBoxLayout в Qt Designer щелкните правой кнопкой мыши на фоне вашего виджета / диалога / окна (не QVBoxLayout, но Родительский виджет) и выберите выложить -> выложить в сетку из нижней части контекстного меню. Элемент QVBoxLayout теперь должен растягиваться, чтобы соответствовать окну и будет автоматически изменяться размер, когда все окно изменяется.

по словам документация, там должен быть набор макетов верхнего уровня.

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

вы можете установить один, очистив выбор и щелкнув правой кнопкой мыши на самой форме и выбрав один из макеты доступны в контекстном меню.

Qt layouts

Я пытался найти свойство" fit to screen", но его нет.

но установка виджета " maximumSize "на" некоторое большое число " (например, 2000 x 2000 ) автоматически поместит виджет в пространство родительского виджета.

Как только вы добавите свой макет хотя бы с одним виджетом в нем, выберите свое окно и нажмите кнопку "Обновить" QtDesigner. Интерфейс будет изменен в наиболее оптимизированном размере, и ваш макет будет соответствовать всему окну. Тогда при изменении размера окна, макет будет изменен таким же образом.

установите horizontalPolicy & VerticalPolicy для элементов управления / виджетов в "предпочтительный".