Spec-Zone.ru › Qt 5.11

Стиль Material

Стиль Material основан на рекомендациях Google Material Design. Подробнее...

Заявление об импорте: import QtQuick.Controls.Material 2.4
С момента: Qt 5.7

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

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

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

  • цвет color(перечисление predefined, перечисление shade)

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

Стиль Material основан на Руководстве по Material Design от Google. Он обеспечивает унифицированный опыт работы на разных платформах и размерах устройств.

Стиль Material в светлой теме

Стиль Material в тёмной теме

Чтобы запустить приложение со стилем Material, см. Использование стилей в Qt Quick Controls 2.

Примечание: Стиль Material не является родным стилем Android. Стиль Material — это 100% кроссплатформенная реализация стиля Qt Quick Controls 2, которая следует Руководству по Material Design от Google. Стиль работает на любой платформе и выглядит более или менее одинаково повсюду. Незначительные различия могут возникнуть из-за различий в доступных системных шрифтах и ​​движках рендеринга шрифтов.

Настройка

Стиль Material позволяет настраивать пять атрибутов: theme, primary, accent, foreground и background.

Все атрибуты могут быть заданы для любого окна или элемента, и они автоматически распространяются на дочерние элементы таким же образом, как шрифты. В следующем примере окно и все три радиокнопки отображаются в тёмной теме с фиолетовым акцентным цветом:

import QtQuick 2.0
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.1

ApplicationWindow {
    visible: true

    Material.theme: Material.Dark
    Material.accent: Material.Purple

    Column {
        anchors.centerIn: parent

        RadioButton { text: qsTr("Small") }
        RadioButton { text: qsTr("Medium");  checked: true }
        RadioButton { text: qsTr("Large") }
    }
}

Помимо указания атрибутов в QML, их также можно задать через переменные среды или в файле конфигурации. Атрибуты, указанные в QML, имеют приоритет над всеми другими методами.

Файл конфигурации

Переменная Описание
Theme Устанавливает значение по умолчанию для темы Material. Значение может быть одним из доступных значений тем, например "Dark".
Accent Устанавливает значение по умолчанию для акцентного цвета Material. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определенных цветов Material, например "Teal".
Primary Устанавливает значение по умолчанию для основного цвета Material. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определенных цветов Material, например "BlueGrey".
Foreground Устанавливает значение по умолчанию для цветного переднего плана Material. Значение может быть любым цветом или одним из предварительно определенных цветов Material, например "Brown".
Background Устанавливает значение по умолчанию для фонового цвета Material. Значение может быть любым цветом или одним из предварительно определенных цветов Material, например "Grey".

См. Файл конфигурации Qt Quick Controls 2 для получения дополнительной информации о файле конфигурации.

Переменные среды

Переменная Описание
QT_QUICK_CONTROLS_MATERIAL_THEME Устанавливает значение по умолчанию для темы Material. Значение может быть одним из доступных значений тем, например "Dark".
QT_QUICK_CONTROLS_MATERIAL_ACCENT Устанавливает значение по умолчанию для акцентного цвета Material. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определенных цветов Material, например "Teal".
QT_QUICK_CONTROLS_MATERIAL_PRIMARY Устанавливает значение по умолчанию для основного цвета Material. Значение может быть любым цветом, но рекомендуется использовать один из предварительно определенных цветов Material, например "BlueGrey".
QT_QUICK_CONTROLS_MATERIAL_FOREGROUND Устанавливает значение по умолчанию для цветного переднего плана Material. Значение может быть любым цветом или одним из предварительно определенных цветов Material, например "Brown".
QT_QUICK_CONTROLS_MATERIAL_BACKGROUND Устанавливает значение по умолчанию для фонового цвета Material. Значение может быть любым цветом или одним из предварительно определенных цветов Material, например "Grey".

См. Поддерживаемые переменные среды в Qt Quick Controls 2 для получения полного списка поддерживаемых переменных среды.

Зависимость

Для доступа к атрибутам, специфичным для стиля Material, необходимо отдельно импортировать стиль Material. Следует отметить, что независимо от ссылок на стиль Material, тот же код приложения работает с любым другим стилем. Атрибуты, специфичные для Material, действуют только при запуске приложения со стилем Material.

Если стиль Material импортирован в QML-файл, который всегда загружается, стиль Material должен быть развернут вместе с приложением, чтобы приложение можно было запустить независимо от того, какой стиль используется. Используя выбор файлов, можно применять настройки, специфичные для стиля, без создания жёсткой зависимости от стиля.

Предварительно определенные цвета Material

Хотя цвета primary и accent могут быть любыми цветами, рекомендуется использовать один из предварительно определённых цветов, которые подобраны для гармоничного сочетания с остальными цветами палитры стиля Material:

Доступные предварительно определённые цвета:

Константа Описание
Material.Red #F44336
Material.Pink #E91E63 (акцент по умолчанию)
Material.Purple #9C27B0
Material.DeepPurple #673AB7
Material.Indigo #3F51B5 (основной по умолчанию)
Material.Blue #2196F3
Material.LightBlue #03A9F4
Material.Cyan #00BCD4
Material.Teal #009688
Material.Green #4CAF50
Material.LightGreen #8BC34A
Material.Lime #CDDC39
Material.Yellow #FFEB3B
Material.Amber #FFC107
Material.Orange #FF9800
Material.DeepOrange #FF5722
Material.Brown #795548
Material.Grey #9E9E9E
Material.BlueGrey #607D8B

При использовании тёмной темы по умолчанию используются разные оттенки предварительно определённых цветов:

Константа Описание
Material.Red #EF9A9A
Material.Pink #F48FB1 (акцент по умолчанию)
Material.Purple #CE93D8
Material.DeepPurple #B39DDB
Material.Indigo #9FA8DA (основной цвет по умолчанию)
Material.Blue #90CAF9
Material.LightBlue #81D4FA
Material.Cyan #80DEEA
Material.Teal #80CBC4
Material.Green #A5D6A7
Material.LightGreen #C5E1A5
Material.Lime #E6EE9C
Material.Yellow #FFF59D
Material.Amber #FFE082
Material.Orange #FFCC80
Material.DeepOrange #FFAB91
Material.Brown #BCAAA4
Material.Grey #EEEEEE
Material.BlueGrey #B0BEC5

Предопределенные оттенки

Существует несколько различных оттенков каждого предопределенного цвета, которые можно передать в функцию Material.color():

Константа Значение
Material.Shade50
Material.Shade100
Material.Shade200
Material.Shade300
Material.Shade400
Material.Shade500
Material.Shade600
Material.Shade700
Material.Shade800
Material.Shade900
Material.ShadeA100
Material.ShadeA200
Material.ShadeA400
Material.ShadeA700

См. также Стиль по умолчанию, Универсальный стиль

Документация присоединенных свойств

Material.accent : цвет

Это присоединенное свойство содержит цвет акцента темы. Свойство можно прикрепить к любому окну или элементу. Значение распространяется на дочерние элементы.

Значение по умолчанию — Material.Pink.

В следующем примере цвет акцента выделенной кнопки изменяется на Material.Orange:

Button {
    text: qsTr("Button")
    highlighted: true
    Material.accent: Material.Orange
}

Примечание: Несмотря на то, что акцент может быть любым цветом, рекомендуется использовать один из предопределенных цветов Material, которые разработаны для совместной работы с остальной палитрой стилей Material.

Material.background : цвет

Это присоединенное свойство содержит цвет фона темы. Свойство можно прикрепить к любому окну или элементу. Значение распространяется на дочерние элементы.

Значение по умолчанию зависит от темы (светлая или темная).

В следующем примере цвет фона кнопки изменяется на Material.Teal:

Button {
    text: qsTr("Button")
    highlighted: true
    Material.background: Material.Teal
}

Material.elevation : целое число

Это присоединённое свойство содержит отступ элемента. Чем больше отступ, тем глубже тень. Свойство можно прикрепить к любому элементу управления, но не все элементы управления отображают отступ.

Значение по умолчанию зависит от элемента управления.

В следующем примере отступ панели настроен на 6 для достижения внешнего вида выступающей карточки:

Pane {
    width: 120
    height: 120

    Material.elevation: 6

    Label {
        text: qsTr("I'm a card!")
        anchors.centerIn: parent
    }
}

Material.foreground : цвет

Это присоединенное свойство содержит цвет переднего плана темы. Свойство можно прикрепить к любому окну или элементу. Значение распространяется на дочерние элементы.

Значение по умолчанию зависит от темы (светлая или темная).

В следующем примере цвет переднего плана кнопки устанавливается на Material.Pink:

Button {
    text: qsTr("Button")
    Material.foreground: Material.Pink
}

Material.primary : цвет

Это присоединенное свойство содержит основной цвет темы. Свойство можно прикрепить к любому окну или элементу. Значение распространяется на дочерние элементы.

Основной цвет используется как цвет фона ToolBar по умолчанию.

Значение по умолчанию — Material.Indigo.

Примечание: Несмотря на то, что основной цвет может быть любым цветом, рекомендуется использовать один из предопределенных цветов Material, которые разработаны для совместной работы с остальной палитрой стилей Material.

Material.theme : перечисление

Это присоединенное свойство указывает, светлая или темная тема. Свойство можно прикрепить к любому окну или элементу. Значение распространяется на дочерние элементы.

Доступные темы:

Константа Описание
Material.Light Светлая тема (по умолчанию)
Material.Dark Тёмная тема
Material.System Система темы

Установка темы на System выбирает светлую или темную тему в зависимости от цветов темы системы. Однако при чтении значения свойства темы значение никогда не равно System, а является фактической темой.

В следующем примере тема как для панели, так и для кнопки установлена на Material.Dark:

Pane {
    Material.theme: Material.Dark

    Button {
        text: qsTr("Button")
    }
}

Документация присоединённых методов

цвет цвет(перечисление предопределенный, перечисление оттенок)

Этот присоединенный метод возвращает эффективное значение цвета указанного предопределенного цвета Material, комбинированного с заданным оттенком. Если аргумент опущен, аргумент оттенка по умолчанию Material.Shade500.

Rectangle {
    color: Material.color(Material.Red)
}

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

  • Стилевое оформление Qt Quick Controls 2

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

Spec-Zone.ru

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