Автоматическое расширение раскладки с помощью Qt-Designer
Я использую Qt Designer.
Я хочу создать QVBoxLayout
, который будет автоматически расширяться, чтобы заполнить все окно.
Макет QVBoxLayout
остается фиксированным.
Как я могу заставить QVBoxLayout
развернуть и заполнить все окно через конструктор?
Ответы
Ответ 1
После создания QVBoxLayout
в Qt Designer щелкните правой кнопкой мыши фон вашего виджета/диалогового окна (а не QVBoxLayout
, но родительский виджет) и выберите Lay Out → Lay Out в сетке в нижней части контекстного меню. QVBoxLayout
теперь должен растягиваться, чтобы соответствовать окну, и будет автоматически изменяться по размеру, когда все окно будет изменено.
Ответ 2
В соответствии с документацией должен быть установлен макет верхнего уровня.
Макет верхнего уровня необходим для правильного изменения размеров виджета при изменении размера окна. Чтобы проверить, установлен ли макет верхнего уровня, предварительно просмотрите виджет и попытайтесь изменить размер окна, перетащив размер.
Вы можете установить его, очистив выделение и щелкнув правой кнопкой мыши по самой форме и выбрав один из макетов, доступных в контекстном меню.
![Qt layouts]()
Ответ 3
Я попытался найти свойство "fit to screen", но такого нет.
Но установка виджета "maximumSize" на "некоторое большое число" (например, 2000 x 2000) автоматически поместит виджет в пространство родительского виджетов.
Ответ 4
Как только вы добавите макет с хотя бы одним виджем в нем, выберите свое окно и нажмите кнопку "Обновить" в QtDesigner. Интерфейс будет изменен в соответствии с самым оптимизированным размером, и ваш макет будет соответствовать всему окну. Затем при изменении размера окна макет будет изменен таким же образом.
Ответ 5
Установите для horizontalPolicy и VerticalPolicy для элементов управления/виджетов значение "Предпочтительный" .