Универсальный стиль
Универсальный стиль основан на руководящих принципах универсального дизайна Microsoft. Подробнее...
| Выражение импорта: | import QtQuick.Controls.Universal 2.12 |
| С: | Qt 5.7 |
Присоединенные свойства
- accent : цвет
- background : цвет
- foreground : цвет
- theme : перечисление
Присоединенные методы
- цвет color(предварительно определенное перечисление)
Подробное описание
Универсальный стиль — это независимый от устройства стиль, основанный на руководящих принципах универсального дизайна Microsoft. Универсальный стиль разработан для хорошего отображения на всех устройствах, от телефонов и планшетов до ПК.
|
Универсальный стиль в светлой теме |
|
Универсальный стиль в тёмной теме |
Чтобы запустить приложение с универсальным стилем, см. Использование стилей в Qt Quick Controls.
Примечание: Универсальный стиль не является родным стилем Windows 10. Универсальный стиль — это реализация стиля Qt Quick Controls, на 100% кроссплатформенная, которая следует Руководству по универсальному дизайну Microsoft. Стиль работает на любой платформе и выглядит более или менее одинаково везде. Незначительные различия могут возникнуть из-за различий в доступных системных шрифтах и движках рендеринга шрифтов.
id="customization">Настройка
Универсальный стиль позволяет настроить четыре атрибута: тема, акцент, фоновый цвет и цвет фона.
Оба атрибута могут быть заданы для любого окна или элемента, и они автоматически передаются дочерним элементам аналогично шрифтам. В следующем примере окно и все три радиокнопки отображаются в тёмной теме с фиолетовым акцентным цветом:
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 |
См. также Стиль по умолчанию, Стиль Material
Документация по присоединённым свойствам
Universal.accent : цвет
Это присоединённое свойство содержит цвет акцента темы. Свойство может быть присоединён к любому окну или элементу. Значение распространяется на потомков.
Значение по умолчанию — Universal.Cobalt.
В следующем примере цвет акцента выделенной кнопки изменяется на Universal.Orange:
Button {
text: qsTr("Button")
highlighted: true
Universal.accent: Universal.Orange
} |
Примечание: Хотя акцент может быть любым цветом, рекомендуется использовать один из предопределенных универсальных цветов, которые разработаны для оптимальной работы с остальной палитрой универсального стиля.
Universal.background : цвет
Это присоединённое свойство содержит цвет фона темы. Свойство может быть присоединён к любому окну или элементу. Значение распространяется на потомков.
Значение по умолчанию зависит от темы (светлая или тёмная).
В следующем примере цвет фона панели изменяется на 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 выбирает светлую или тёмную тему в зависимости от цветов системы. Однако при чтении значения свойства theme, значение никогда не является System, а является фактической темой.
В следующем примере тема для панели и кнопки установлена в Universal.Dark:
Pane {
Universal.theme: Universal.Dark
Button {
text: qsTr("Button")
}
} |
Документация по присоединённым методам
цвет цвет(перечисление predefined)
Этот присоединённый метод возвращает эффективное значение цвета указанного предопределённого универсального цвета.
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-5.14/qtquickcontrols2-universal.html