Spec-Zone.ru › Qt 6.1

Знакомство с 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.1/designer-to-know.html

Spec-Zone.ru

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