Spec-Zone.ru › Qt 5.6

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

Spec-Zone.ru

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