Я использую Qt Designer.
Я хочу создать QVBoxLayout, который будет автоматически расширяться для заполнения всего окна.
QVBoxLayout
Макет QVBoxLayout остается фиксированным.
Как заставить QVBoxLayout развернуться и заполнить все окно через конструктор?
После создания QVBoxLayout в Qt Designer, щелкните правой кнопкой мыши фон вашего виджета / диалогового окна / окна (не QVBoxLayout, а родительский виджет) и выберите Lay Out -> Lay Out inСетка снизу контекстного меню.QVBoxLayout теперь должен растягиваться, чтобы соответствовать окну, и автоматически изменит размер при изменении размера всего окна.
Согласно документации , должен быть набор макетов верхнего уровня.
Макет верхнего уровня необходим, чтобы гарантировать, что размер ваших виджетов будет изменен правильно при изменении размера его окна. Чтобы проверить, настроили ли вы макет верхнего уровня, просмотрите виджет и попытайтесь изменить размер окна, перетащив ручку размера.
Вы можете установить его, сняв выделение и щелкнув правой кнопкой мыши на самой форме и выбрав один из макетов, доступных в контекстном меню.
Я пытался найти свойство "соответствовать экрану", но такого не существует.
Но установка для «MaximumSize» виджета «некоторого большого числа» (например, 2000 x 2000) автоматически поместит виджет в пространство родительского виджета.
Установите для HorizontalPolicy & VerticalPolicy для элементов управления / виджетов значение «Предпочтительный» .
Как только вы добавите свой макет с хотя бы одним виджетом, выберите ваше окно и нажмите кнопку "Обновить" в QtDesigner. Размер интерфейса будет изменен до максимально оптимизированного размера, и ваш макет будет соответствовать всему окну. Затем при изменении размера окна макет будет изменен таким же образом.