Стилизация Qt Quick Controls
Доступные стили
Qt Quick Controls поставляется с набором стилей.
Базовый стиль
Базовый стиль — простой и лёгкий универсальный стиль, обеспечивающий максимальную производительность для Qt Quick Controls.
Стиль Fusion
Стиль Fusion — платформенно-независимый стиль, предоставляющий вид и ощущения настольного приложения для Qt Quick Controls.
Стиль Imagine
Стиль Imagine основан на графических ресурсах. Стиль поставляется с набором стандартных изображений, которые можно легко изменить, указав директорию с изображениями, следуя предопределённой схеме именования.
Стиль macOS
Стиль macOS — стиль с нативным внешним видом для macOS.
Примечание: этот стиль доступен только для приложений, работающих на macOS.
Стиль Material
Стиль Material предлагает привлекательный дизайн, основанный на Руководстве по дизайну Material от Google, но требует больше системных ресурсов, чем базовый стиль.
Стиль Universal
Стиль Universal предлагает привлекательный дизайн, основанный на Руководстве по универсальному дизайну от Microsoft, но требует больше системных ресурсов, чем базовый стиль.
Стиль Windows
Стиль Windows — стиль с нативным внешним видом для Windows.
Примечание: этот стиль доступен только для приложений, работающих на Windows.
Использование стилей в Qt Quick Controls
Существует два способа использования стилей в Qt Quick Controls: выбор стиля во время выполнения и выбор стиля во время компиляции.
Выбор стиля во время компиляции
Выбор стиля во время компиляции подразумевает использование импортов QML для указания стиля. Например, чтобы импортировать стиль Material:
import QtQuick.Controls.Material
ApplicationWindow {
// ...
} Обратите внимание, что QtQuick.Controls (который отвечает за выбор стиля во время выполнения) не импортируется. Стиль по умолчанию задаётся файлом qmldir стиля:
module QtQuick.Controls.Material # ... import QtQuick.Controls.Basic auto
Преимущество выбора стиля во время компиляции заключается в том, что плагин QtQuick.Controls не используется и, следовательно, не требуется для распространения с приложением.
Явные импорты также необходимы, если ваше приложение построено статически.
Выбор стиля во время выполнения
Выбор стиля во время выполнения подразумевает импорт QtQuick.Controls:
import QtQuick.Controls
Плагин QtQuick.Controls импортирует стиль и стиль по умолчанию, которые были установлены во время выполнения одним из следующих способов:
- QQuickStyle::setStyle()
- Аргумент командной строки
-style - Переменная среды
QT_QUICK_CONTROLS_STYLE - Конфигурационный файл
qtquickcontrols2.conf
Приоритет этих способов соответствует порядку их перечисления, от высшего к низшему. Например, использование QQuickStyle для установки стиля всегда имеет приоритет по сравнению с аргументом командной строки.
Преимущество выбора стиля во время выполнения заключается в том, что одно исполняемое приложение может поддерживать несколько стилей, что означает, что конечный пользователь может выбрать, с каким стилем запустить приложение.
Использование QQuickStyle в C++
QQuickStyle предоставляет API C++ для настройки определённого стиля. Следующий пример запускает приложение Qt Quick Controls со стилем Material:
QQuickStyle::setStyle("Material"); Для получения дополнительной информации см. подробное описание QQuickStyle.
Аргумент командной строки
Передача аргумента командной строки -style — удобный способ тестирования различных стилей. Он имеет приоритет над другими методами, перечисленными ниже. Следующий пример запускает приложение Qt Quick Controls со стилем Material:
./app -style material
Переменная среды
Установка переменной среды QT_QUICK_CONTROLS_STYLE может использоваться для установки глобального предпочтения стиля. Она имеет приоритет над конфигурационным файлом, упомянутым ниже. Следующий пример запускает приложение Qt Quick Controls со стилем Universal:
QT_QUICK_CONTROLS_STYLE=universal ./app
См. Поддерживаемые переменные среды в Qt Quick Controls для полного списка поддерживаемых переменных среды.
Конфигурационный файл
Qt Quick Controls поддерживает специальный конфигурационный файл, :/qtquickcontrols2.conf, встроенный в ресурсы приложения.
Конфигурационный файл может указать предпочтительный стиль (который может быть переопределён любым из описанных выше методов) и некоторые атрибуты, специфичные для стиля. Следующий пример указывает, что предпочтительный стиль — это стиль Material.
[Controls] Style=Material
Для получения дополнительной информации о конфигурационном файле см. Файл конфигурации Qt Quick Controls.
Дополнительная информация
- Базовый стиль
- Стиль Fusion
- Стиль Imagine
- Стиль Material
- Стиль Universal
- Настройка Qt Quick Controls
- Использование файловых селекторов с Qt Quick Controls
- Развёртывание приложений Qt Quick Controls
- Файл конфигурации Qt Quick Controls
- Поддерживаемые переменные среды в Qt Quick Controls
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtquickcontrols2-styles.html