Spec-Zone.ru › Qt

Знакомство с 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 помогают при:

  1. Изменении размера пользовательского интерфейса для адаптации к различным размерам окон.
  2. Изменении размера элементов в пользовательском интерфейсе для адаптации к различным локалям.
  3. Размещении элементов в соответствии с принципами макетов для разных платформ.

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

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

Диалог на английском языке Диалог на французском языке

Процесс размещения виджетов заключается в создании иерархии макетов при установке как можно меньшего количества ограничений на размер виджетов.

Для более технического взгляда на классы макетов Qt, см. документацию по Управлению макетами.

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

Spec-Zone.ru

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