Универсальный стиль
Универсальный стиль основан на Руководстве по универсальному дизайну Microsoft. Подробнее...
| Заявление импорта: | import QtQuick.Controls.Universal 2.12 |
| С момента: | Qt 5.7 |
Присоединённые свойства
- акцент : цвет
- фон : цвет
- первый план : цвет
- тема : перечисление
Присоединённые методы
- цвет цвет(предварительно определённое перечисление)
Подробное описание
Универсальный стиль — это независимый от устройства стиль, основанный на Руководстве по универсальному дизайну Microsoft. Универсальный стиль разработан для хорошего отображения на всех устройствах, от телефонов и планшетов до ПК.
|
Универсальный стиль в светлой теме |
Универсальный стиль в тёмной теме |
Чтобы запустить приложение с универсальным стилем, см. Использование стилей в Qt Quick Controls.
Примечание: Универсальный стиль не является родным стилем Windows 10. Универсальный стиль — это реализация стиля Qt Quick Controls, поддерживающая 100% кроссплатформенность, которая соответствует Руководству по универсальному дизайну Microsoft. Стиль работает на любой платформе и выглядит более или менее одинаково везде. Незначительные различия могут возникнуть из-за различий в доступных системных шрифтах и движках рендеринга шрифтов.
Настройка
Универсальный стиль позволяет настраивать четыре атрибута: тема, акцент, первый план и фон.
Оба атрибута могут быть указаны для любого окна или элемента, и они автоматически распространяются на дочерние элементы таким же образом, как и шрифты. В следующем примере окно и все три радиокнопки отображаются в тёмной теме с фиолетовым цветом акцента:
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Universal 2.12
ApplicationWindow {
visible: true
Universal.theme: Universal.Dark
Universal.accent: Universal.Violet
Column {
anchors.centerIn: parent
RadioButton { text: qsTr("Small") }
RadioButton { text: qsTr("Medium"); checked: true }
RadioButton { text: qsTr("Large") }
}
} |
Помимо указания атрибутов в QML, их также можно указать через переменные среды или в файле конфигурации. Атрибуты, указанные в QML, имеют приоритет над всеми другими методами.
Файл конфигурации
| Переменная | Описание |
|---|---|
Theme |
Указывает по умолчанию Универсальную тему. Значение может быть одним из доступных тем, например "Dark". |
Accent |
Указывает по умолчанию Универсальный цвет акцента. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определённых универсальных цветов, например "Violet". |
Foreground |
Указывает по умолчанию Универсальный цвет первого плана. Значение может быть любым цветом или одним из предварительно определённых универсальных цветов, например "Brown". |
Background |
Указывает по умолчанию Универсальный цвет фона. Значение может быть любым цветом или одним из предварительно определённых универсальных цветов, например "Steel". |
См. Файл конфигурации Qt Quick Controls для получения более подробной информации о файле конфигурации.
Переменные среды
| Переменная | Описание |
|---|---|
QT_QUICK_CONTROLS_UNIVERSAL_THEME |
Указывает по умолчанию Универсальную тему. Значение может быть одним из доступных тем, например "Dark". |
QT_QUICK_CONTROLS_UNIVERSAL_ACCENT |
Указывает по умолчанию Универсальный цвет акцента. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определённых универсальных цветов, например "Violet". |
QT_QUICK_CONTROLS_UNIVERSAL_FOREGROUND |
Указывает по умолчанию Универсальный цвет первого плана. Значение может быть любым цветом или одним из предварительно определённых универсальных цветов, например "Brown". |
QT_QUICK_CONTROLS_UNIVERSAL_BACKGROUND |
Указывает по умолчанию Универсальный цвет фона. Значение может быть любым цветом или одним из предварительно определённых универсальных цветов, например "Steel". |
См. Поддерживаемые переменные среды в Qt Quick Controls для получения полного списка поддерживаемых переменных среды.
Зависимость
Универсальный стиль должен быть импортирован отдельно, чтобы получить доступ к атрибутам, специфичным для универсального стиля. Следует отметить, что независимо от ссылок на универсальный стиль, тот же код приложения работает с любым другим стилем. Атрибуты, специфичные для универсального стиля, имеют эффект только при запуске приложения с универсальным стилем.
Если универсальный стиль импортирован в файл QML, который всегда загружается, универсальный стиль должен быть развернут с приложением, чтобы приложение можно было запустить независимо от того, какой стиль используется для запуска приложения. Используя выбор файлов, можно применять настройки, специфичные для стиля, без создания жёсткой зависимости от стиля.
Предварительно определённые универсальные цвета
Доступные предварительно определённые цвета:
| Константа | Описание |
|---|---|
Universal.Lime |
#A4C400 |
Universal.Green |
#60A917 |
Universal.Emerald |
#008A00 |
Universal.Teal |
#00ABA9 |
Universal.Cyan |
#1BA1E2 |
Universal.Cobalt |
#3E65FF (по умолчанию акцент) |
Universal.Indigo |
#6A00FF |
Universal.Violet |
#AA00FF |
Universal.Pink |
#F472D0 |
Universal.Magenta |
#D80073 |
Universal.Crimson |
#A20025 |
Universal.Red |
#E51400 |
Universal.Orange |
#FA6800 |
Universal.Amber |
#F0A30A |
Universal.Yellow |
#E3C800 |
Universal.Brown |
#825A2C |
Universal.Olive |
#6D8764 |
Universal.Steel |
#647687 |
Universal.Mauve |
#76608A |
Universal.Taupe |
#87794E |
См. также Базовый стиль, Материал стиль
Документация по присоединённому свойству
Universal.акцент : цвет
Это присоединённое свойство содержит цвет акцента темы. Свойство может быть присоединён к любому окну или элементу. Значение распространяется на потомков.
Значение по умолчанию — Universal.Cobalt.
В следующем примере цвет акцента выделенной кнопки изменён на Universal.Orange:
Button {
text: qsTr("Button")
highlighted: true
Universal.accent: Universal.Orange
} |
Примечание: Несмотря на то, что акцент может быть любым цветом, рекомендуется использовать один из предварительно определённых универсальных цветов, которые разработаны для работы с остальной частью палитры универсального стиля.
Universal.фон : цвет
Это присоединённое свойство содержит цвет фона темы. Свойство может быть присоединён к любому окну или элементу. Значение распространяется на потомков.
Значение по умолчанию зависит от темы (светлая или тёмная).
В следующем примере цвет фона панели изменяется на Universal.Steel:
Pane {
Universal.background: Universal.Steel
Button {
text: qsTr("Button")
}
} |
Universal.foreground : цвет
Это присоединённое свойство содержит цвет переднего плана темы. Свойство может быть присоединённо к любому окну или элементу. Значение передаётся потомкам.
Значение по умолчанию зависит от темы (светлая или тёмная).
В следующем примере цвет переднего плана кнопки задаётся как Universal.Pink:
Button {
text: qsTr("Button")
Universal.foreground: Universal.Pink
} |
Universal.theme : перечисление
Это присоединённое свойство указывает, является ли тема светлой или тёмной. Свойство может быть присоединённо к любому окну или элементу. Значение передаётся потомкам.
Доступные темы:
| Постоянная | Описание |
|---|---|
Universal.Light |
Светлая тема (по умолчанию) |
Universal.Dark |
Тёмная тема |
Universal.System |
Системная тема |
Установив тему на System, выбирается светлая или тёмная тема в зависимости от цветов системной темы. Однако при чтении значения свойства темы, значение никогда не будет System, а будет фактической темой.
В следующем примере тема для панели и кнопки установлена как Universal.Dark:
Pane {
Universal.theme: Universal.Dark
Button {
text: qsTr("Button")
}
} |
Документация по присоединённым методам
цвет color(перечисление predefined)
Этот присоединённый метод возвращает эффективное значение цвета указанного предварительно определённого цвета Universal.
Rectangle {
color: Universal.color(Universal.Red)
} Связанная информация
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtquickcontrols2-universal.html