Spec-Zone.ru › Qt 5.11

Использование макетов в 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/archives/qt-5.11/designer-layouts.html

Spec-Zone.ru

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