Spec-Zone.ru › Qt 5.15

Знакомство с 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 виджетов, макетов и других объектов, которые могут быть использованы для создания пользовательских интерфейсов на формах. Каждая категория в поле виджетов содержит виджеты с похожим использованием или связанными функциями.

Вы можете отобразить все доступные объекты в категории, щелкнув по ручке рядом с меткой категории. В режиме редактирования виджетов ( Widget Editing Mode) вы можете добавлять объекты на форму, перетаскивая соответствующие элементы из поля виджетов на форму и опуская их в нужное место.

Qt Designer предоставляет функцию "черновика" (scratch pad), которая позволяет собирать часто используемые объекты в отдельной категории. Категория "черновик" может быть заполнена любыми виджетами, которые в данный момент отображаются на форме, путем перетаскивания их с формы и опускания в поле виджетов. Эти виджеты могут быть использованы так же, как и любые другие виджеты, но они также могут содержать дочерние виджеты. Откройте контекстное меню над виджетом, чтобы изменить его имя или удалить его из "черновика".

Концепция макетов в 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-5.15/designer-to-know.html

Spec-Zone.ru

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