Знакомство с Qt Designer
Запуск Designer
После установки Qt вы можете запустить Qt Designer так же, как и любое другое приложение на вашей системе разработки. Вы также можете запустить Qt Designer непосредственно из Qt Creator. Qt Creator автоматически открывает все файлы .ui в интегрированном Qt Designer в режиме Проектирование.
В целом, интегрированный Qt Designer содержит те же функции, что и автономный Qt Designer. Для получения дополнительной информации о различиях см. Руководство по Qt Creator.
Если у вас есть большие формы, которые не помещаются в режим Проектирование Qt Creator, вы можете открыть их в автономном Qt Designer.
Интерфейс пользователя
При использовании в качестве автономного приложения, интерфейс пользователя Qt Designer можно настроить для предоставления многооконного интерфейса (по умолчанию) или использовать в режиме пристыкованных окон. При использовании из интегрированной среды разработки (IDE) доступен только многооконный интерфейс. Вы можете переключаться между режимами в диалоговом окне Настройки из меню Правка.
В многооконном режиме вы можете расположить каждое окно инструментов так, чтобы это соответствовало вашей рабочей манере. Главное окно состоит из панели меню, панели инструментов и области виджетов, содержащей виджеты, которые вы можете использовать для создания вашего пользовательского интерфейса.
|
Главное окно Qt Designer Панель меню предоставляет все стандартные действия для управления формами, использования буфера обмена и доступа к помощи, специфичной для приложения. Также через панель меню доступны текущий режим редактирования, окна инструментов и используемые формы. Панель инструментов отображает общие действия, используемые при редактировании формы. Они также доступны через главное меню. Область виджетов предоставляет общие виджеты и макеты, используемые для проектирования компонентов. Они сгруппированы по категориям, отражающим их использование или особенности. |
Большинство функций Qt Designer доступны через панель меню, панель инструментов или область виджетов. Некоторые функции также доступны через контекстные меню, которые можно открыть над окнами формы. На большинстве платформ для открытия контекстных меню используется правая кнопка мыши.
|
Область виджетов Qt Designer Область виджетов предоставляет выбор стандартных Qt-виджетов, макетов и других объектов, которые можно использовать для создания пользовательских интерфейсов на формах. Каждая категория в области виджетов содержит виджеты с похожими функциями или связанными характеристиками. Вы можете отобразить все доступные объекты в категории, щелкнув маркер рядом с меткой категории. При работе в режиме Редактирование виджетов вы можете добавлять объекты на форму, перетаскивая соответствующие элементы из области виджетов на форму и опуская их в необходимое место. Qt Designer предоставляет функцию черновика, которая позволяет собирать часто используемые объекты в отдельной категории. Категорию черновика можно заполнить любым виджетом, который сейчас отображается в форме, перетащив его из формы и опуская на область виджетов. Эти виджеты могут использоваться так же, как и любые другие виджеты, но они также могут содержать дочерние виджеты. Откройте контекстное меню над виджетом, чтобы изменить его имя или удалить его из черновика. |
Концепция макетов в Qt
Макет используется для упорядочения и управления элементами, составляющими пользовательский интерфейс. Qt предоставляет ряд классов для автоматического управления макетами — QHBoxLayout, QVBoxLayout, QGridLayout и QFormLayout. Эти классы решают задачу автоматического выстраивания виджетов, обеспечивая предсказуемое поведение пользовательского интерфейса. К счастью, знание классов макетов не требуется для размещения виджетов с помощью Qt Designer. Вместо этого выберите один из вариантов в контекстном меню: Выстроить по горизонтали, Выстроить в сетку и т. д.
Каждый Qt-виджет имеет рекомендуемый размер, известный как sizeHint(). Управляющая программа макетов попытается изменить размер виджета, чтобы соответствовать его размеру hint. В некоторых случаях нет необходимости иметь другой размер. Например, высота QLineEdit всегда имеет фиксированное значение, зависящее от размера и стиля шрифта. В других случаях вам может потребоваться изменить размер, например, ширину QLineEdit или ширину и высоту виджетов представления элементов. Именно здесь вступают в игру ограничения размера виджета — ограничения minimumSize и maximumSize. Эти свойства можно установить в редакторе свойств. Например, чтобы переопределить значение sizeHint() по умолчанию, просто установите minimumSize и maximumSize на одно и то же значение. В качестве альтернативы, чтобы использовать текущий размер в качестве значения ограничения размера, выберите один из вариантов Ограничения размера из контекстного меню виджета. Макет затем гарантирует, что эти ограничения соблюдены. Чтобы управлять размером виджетов через код, вы можете переопределить sizeHint() в своем коде.
На скриншоте ниже показана структура простого пользовательского интерфейса, созданного с использованием сетки. Координаты на скриншоте показывают положение каждого виджета в сетке.
Примечание: Внутри сетки объекты QPushButton фактически вложены. Кнопки справа сначала размещаются в QVBoxLayout; кнопки внизу сначала размещаются в QHBoxLayout. Наконец, они размещаются в координатах (1,2) и (2,1) QGridLayout.
Для визуализации представьте макет как коробку, которая максимально уменьшается, пытаясь сжать ваши виджеты в аккуратной компоновке и, одновременно, максимально использовать доступное пространство.
Макеты Qt помогают при:
- Изменении размера пользовательского интерфейса для адаптации к различным размерам окон.
- Изменении размера элементов внутри пользовательского интерфейса в соответствии с различными локализациями.
- Расположении элементов в соответствии с руководящими принципами макета для различных платформ.
Таким образом, вам больше не нужно беспокоиться о переустановке виджетов для различных платформ, настроек и языков.
Приведенный ниже пример демонстрирует, как различные локализации могут влиять на пользовательский интерфейс. Когда для локализации требуется больше места для более длинных текстовых строк, макет Qt автоматически масштабируется, чтобы вместить это, обеспечивая при этом презентабельный вид пользовательского интерфейса, соответствующий правилам платформы.
| Диалоговое окно на английском языке | Диалоговое окно на французском языке |
|---|---|
Процесс расположения виджетов заключается в создании иерархии макета при установке как можно меньшего количества ограничений размера виджетов.
Для более технического взгляда на классы макетов Qt см. документацию по Управление макетами.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/designer-to-know.html