Знакомство с 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(). Управляющий макетом попытается изменить размер виджета в соответствии с его рекомендательным размером. В некоторых случаях нет необходимости изменять размер. Например, высота 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/qt-5.9/designer-to-know.html