Spec-Zone.ru › Qt 5.9

Использование макетов в Qt Designer

Перед использованием формы, объекты на форме необходимо поместить в макеты. Это гарантирует, что объекты будут отображаться должным образом при предварительном просмотре формы или использовании её в приложении. Помещение объектов в макет также гарантирует, что они будут правильно масштабироваться при изменении размеров формы.

Применение и разрыв макетов

Самый простой способ управления объектами — это применение макета к группе существующих объектов. Это достигается выбором объектов, которые необходимо управлять, и применением одного из стандартных макетов с помощью основной панели инструментов, меню Форма или контекстного меню формы.

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

Чтобы разорвать макет, нажмите Ctrl+0 или выберите Разрыв макета из контекстного меню формы, меню Форма или основной панели инструментов. Также можно добавлять и удалять разделители из макета, чтобы влиять на геометрию виджетов.

Вставка объектов в макет

Объекты могут быть вставлены в существующий макет, перетаскивая их из текущих позиций и опуская их в нужное место. При перетаскивании объекта над макетом отображается синий курсор, показывающий, куда будет добавлен объект.

Установка макета верхнего уровня

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

Применение макета

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

Горизонтальные и вертикальные макеты

Самый простой способ расположить объекты на форме — разместить их в горизонтальном или вертикальном макете. Горизонтальные макеты гарантируют, что виджеты внутри выровнены по горизонтали, вертикальные макеты — по вертикали.

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

Сетчатый макет

Сложные макеты формы можно создать, разместив объекты в сетчатом макете. Этот вид макета предоставляет разработчику формы намного больше свободы в расположении виджетов на форме, но может привести к менее гибкому макету. Однако для некоторых типов макета формы сетчатое расположение более подходит, чем вложенное расположение горизонтальных и вертикальных макетов.

Макет формы

Класс QFormLayout управляет виджетами в форме с двумя колонками; левая колонка содержит метки, а правая — виджеты полей, такие как поля ввода, спинбоксы и т. д. Класс QFormLayout соответствует различным рекомендациям по стилю платформы и поддерживает перенос для длинных строк.

Файл пользовательского интерфейса выше приводит к предварительным просмотрам, показанным ниже.

Windows XP macOS Cleanlooks

Разделительные макеты

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

Хотя QSplitter является контейнерным виджетом, Qt Designer рассматривает объекты разделителя как макеты, применяемые к существующим виджетам. Чтобы поместить группу виджетов в разделитель, выберите их как описано здесь, а затем примените макет разделителя, используя соответствующую кнопку на панели инструментов, комбинацию клавиш или пункт меню Макет контекстного меню.

Сочетания клавиш

Помимо стандартных элементов панели инструментов и контекстного меню, также есть набор сочетаний клавиш для применения макетов к виджетам.

Макет Сочетание клавиш Описание
Горизонтальный Ctrl+1 Размещает выбранные объекты в горизонтальном макете.
Вертикальный Ctrl+2 Размещает выбранные объекты в вертикальном макете.
Сетчатый Ctrl+5 Размещает выбранные объекты в сетчатом макете.
Форма Ctrl+6 Размещает выбранные объекты в макете формы.
Горизонтальный разделитель Ctrl+3 Создает горизонтальный разделитель и помещает выбранные объекты в него.
Вертикальный разделитель Ctrl+4 Создает вертикальный разделитель и помещает выбранные объекты в него.
Изменение размера Ctrl+J Изменяет размер макета, чтобы гарантировать, что каждый дочерний объект имеет достаточно места для отображения своего содержимого. См. QWidget::adjustSize() для получения дополнительной информации.

Примечание: Ctrl+0 используется для разрыва макета.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/designer-layouts.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API