Spec-Zone.ru › Qt 5.14

Универсальный стиль

Универсальный стиль основан на руководящих принципах универсального дизайна Microsoft. Подробнее...

Выражение импорта: import QtQuick.Controls.Universal 2.12
С: Qt 5.7

Присоединенные свойства

  • accent : цвет
  • background : цвет
  • foreground : цвет
  • theme : перечисление

Присоединенные методы

  • цвет color(предварительно определенное перечисление)

Подробное описание

Универсальный стиль — это независимый от устройства стиль, основанный на руководящих принципах универсального дизайна Microsoft. Универсальный стиль разработан для хорошего отображения на всех устройствах, от телефонов и планшетов до ПК.

Универсальный стиль в светлой теме

END_OF_DOCUMENT_MARKER

Универсальный стиль в тёмной теме

Чтобы запустить приложение с универсальным стилем, см. Использование стилей в 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)
}

Связанная информация

  • Стиль Qt Quick Controls

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtquickcontrols2-universal.html

Spec-Zone.ru

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