Класс Q3DTheme
Класс Q3DTheme предоставляет визуальный стиль для графиков. Подробнее...
| Заголовок: | #include <Q3DTheme> |
| С тех пор: | QtDataVisualization 1.0 |
| Создается из: | Theme3D |
| Наследуется от: | QObject |
Типы публичного доступа
| Перечисление | ColorStyle { ColorStyleUniform, ColorStyleObjectGradient, ColorStyleRangeGradient } |
| Перечисление | Тема { ThemeQt, ThemePrimaryColors, ThemeDigia, ThemeStoneMoss, ThemeArmyBlue, …, ThemeUserDefined } |
Свойства
|
|
Публичные функции
| Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr) | |
| Q3DTheme(QObject *parent = nullptr) | |
| virtual | ~Q3DTheme() |
| float | ambientLightStrength() const |
| QColor | backgroundColor() const |
| QList<QColor> | baseColors() const |
| QList<QLinearGradient> | baseGradients() const |
| Q3DTheme::ColorStyle | colorStyle() const |
| QFont | font() const |
| QColor | gridLineColor() const |
| float | highlightLightStrength() const |
| bool | isBackgroundEnabled() const |
| bool | isGridEnabled() const |
| bool | isLabelBackgroundEnabled() const |
| bool | isLabelBorderEnabled() const |
| QColor | labelBackgroundColor() const |
| QColor | labelTextColor() const |
| QColor | lightColor() const |
| float | lightStrength() const |
| QColor | multiHighlightColor() const |
| QLinearGradient | multiHighlightGradient() const |
| void | setAmbientLightStrength(float strength) |
| void | setBackgroundColor(const QColor &color) |
| void | setBackgroundEnabled(bool enabled) |
| void | setBaseColors(const QList<QColor> &colors) |
| void | setBaseGradients(const QList<QLinearGradient> &gradients) |
| void | setColorStyle(Q3DTheme::ColorStyle style) |
| void | setFont(const QFont &font) |
| void | setGridEnabled(bool enabled) |
| void | setGridLineColor(const QColor &color) |
| void | setHighlightLightStrength(float strength) |
| void | setLabelBackgroundColor(const QColor &color) |
| void | setLabelBackgroundEnabled(bool enabled) |
| void | setLabelBorderEnabled(bool enabled) |
| void | setLabelTextColor(const QColor &color) |
| void | setLightColor(const QColor &color) |
| void | setLightStrength(float strength) |
| void | setMultiHighlightColor(const QColor &color) |
| void | setMultiHighlightGradient(const QLinearGradient &gradient) |
| void | setSingleHighlightColor(const QColor &color) |
| void | setSingleHighlightGradient(const QLinearGradient &gradient) |
| void | setType(Q3DTheme::Theme themeType) |
| void | setWindowColor(const QColor &color) |
| QColor | singleHighlightColor() const |
| QLinearGradient | singleHighlightGradient() const |
| Q3DTheme::Theme | type() const |
| QColor | windowColor() const |
Свойства
| void | ambientLightStrengthChanged(float strength) |
| void | backgroundColorChanged(const QColor &color) |
| void | backgroundEnabledChanged(bool enabled) |
| void | baseColorsChanged(const QList<QColor> &colors) |
| void | baseGradientsChanged(const QList<QLinearGradient> &gradients) |
| void | colorStyleChanged(Q3DTheme::ColorStyle style) |
| void | fontChanged(const QFont &font) |
| void | gridEnabledChanged(bool enabled) |
| void | gridLineColorChanged(const QColor &color) |
| void | highlightLightStrengthChanged(float strength) |
| void | labelBackgroundColorChanged(const QColor &color) |
| void | labelBackgroundEnabledChanged(bool enabled) |
| void | labelBorderEnabledChanged(bool enabled) |
| void | labelTextColorChanged(const QColor &color) |
| void | lightColorChanged(const QColor &color) |
| void | lightStrengthChanged(float strength) |
| void | multiHighlightColorChanged(const QColor &color) |
| void | multiHighlightGradientChanged(const QLinearGradient &gradient) |
| void | singleHighlightColorChanged(const QColor &color) |
| void | singleHighlightGradientChanged(const QLinearGradient &gradient) |
| void | typeChanged(Q3DTheme::Theme themeType) |
| void | windowColorChanged(const QColor &color) |
Подробное описание
Указывает визуальные свойства, влияющие на весь график. Существует несколько встроенных тем, которые можно использовать как есть или свободно изменять.
Следующие свойства могут быть переопределены с помощью свойств QAbstract3DSeries, чтобы задать их явно в серии: baseColors, baseGradients и colorStyle.
Темы можно создавать с нуля, используя значение перечисления ThemeUserDefined. Создание темы с помощью конструктора по умолчанию создаёт новую пользовательскую тему.
Тема по умолчанию
В следующей таблице перечислены свойства, управляемые темами, и значения по умолчанию для ThemeUserDefined.
| Свойство | Значение по умолчанию |
|---|---|
| ambientLightStrength | 0.25 |
| backgroundColor | Qt::black |
| backgroundEnabled | true |
| baseColors | Qt::black |
| baseGradients | Линейный градиент QLinearGradient, по существу, полностью чёрный. |
| colorStyle | ColorStyleUniform |
| font | QFont |
| gridEnabled | true |
| gridLineColor | Qt::white |
| highlightLightStrength | 7.5 |
| labelBackgroundColor | Qt::gray |
| labelBackgroundEnabled | true |
| labelBorderEnabled | true |
| labelTextColor | Qt::white |
| lightColor | Qt::white |
| lightStrength | 5.0 |
| multiHighlightColor | Qt::blue |
| multiHighlightGradient | Линейный градиент QLinearGradient, по существу, полностью чёрный. |
| singleHighlightColor | Qt::red |
| singleHighlightGradient | Линейный градиент QLinearGradient, по существу, полностью чёрный. |
| windowColor | Qt::black |
Примеры использования
Создание встроенной темы без каких-либо изменений:
Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt);
Создание встроенной темы и изменение некоторых свойств:
Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt); theme->setBackgroundEnabled(false); theme->setLabelBackgroundEnabled(false);
Создание пользовательской темы:
Q3DTheme *theme = new Q3DTheme();
theme->setAmbientLightStrength(0.3f);
theme->setBackgroundColor(QColor(QRgb(0x99ca53)));
theme->setBackgroundEnabled(true);
theme->setBaseColor(QColor(QRgb(0x209fdf)));
theme->setColorStyle(Q3DTheme::ColorStyleUniform);
theme->setFont(QFont(QStringLiteral("Impact"), 35));
theme->setGridEnabled(true);
theme->setGridLineColor(QColor(QRgb(0x99ca53)));
theme->setHighlightLightStrength(7.0f);
theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0));
theme->setLabelBackgroundEnabled(true);
theme->setLabelBorderEnabled(true);
theme->setLabelTextColor(QColor(QRgb(0x404044)));
theme->setLightColor(Qt::white);
theme->setLightStrength(6.0f);
theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5)));
theme->setSingleHighlightColor(QColor(QRgb(0xf6a625)));
theme->setWindowColor(QColor(QRgb(0xffffff))); Создание встроенной темы и изменение некоторых свойств после её установки:
Q3DBars *graph = new Q3DBars(); graph->activeTheme()->setType(Q3DTheme::ThemePrimaryColors); graph->activeTheme()->setBaseColor(Qt::red); graph->activeTheme()->setSingleHighlightColor(Qt::yellow);
Документация по типам членов
Перечисление Q3DTheme::ColorStyle
Стили цвета.
| Постоянная | Значение | Описание |
|---|---|---|
Q3DTheme::ColorStyleUniform |
0 |
Объекты отрисовываются одним цветом. Используемый цвет задаётся в свойствах baseColors, singleHighlightColor и multiHighlightColor. |
Q3DTheme::ColorStyleObjectGradient |
1 |
Объекты окрашиваются с использованием полного градиента для каждого объекта независимо от высоты объекта. Используемый градиент задаётся в свойствах baseGradients, singleHighlightGradient и multiHighlightGradient. |
Q3DTheme::ColorStyleRangeGradient |
2 |
Объекты окрашиваются с использованием части полного градиента, определяемой высотой объекта и его положением на оси Y. Используемый градиент задаётся в свойствах baseGradients, singleHighlightGradient и multiHighlightGradient. |
Перечисление Q3DTheme::Theme
Встроенные темы.
| Константа | Значение | Описание |
|---|---|---|
Q3DTheme::ThemeQt |
0 |
Светлая тема с зелёным основным цветом. |
Q3DTheme::ThemePrimaryColors |
1 |
Светлая тема с жёлтым основным цветом. |
Q3DTheme::ThemeDigia |
2 |
Светлая тема с серым основным цветом. |
Q3DTheme::ThemeStoneMoss |
3 |
Тема среднего тёмного тона с жёлтым основным цветом. |
Q3DTheme::ThemeArmyBlue |
4 |
Тема среднего светлого тона с синим основным цветом. |
Q3DTheme::ThemeRetro |
5 |
Тема среднего светлого тона с коричневым основным цветом. |
Q3DTheme::ThemeEbony |
6 |
Тёмная тема с белым основным цветом. |
Q3DTheme::ThemeIsabelle |
7 |
Тёмная тема с жёлтым основным цветом. |
Q3DTheme::ThemeUserDefined |
8 |
Пользовательская тема. Для получения дополнительной информации см. Установку по умолчанию. |
Документация по свойствам
ambientLightStrength : float
Это свойство содержит значение яркости окружающего света для всего графа.
Это значение определяет, насколько равномерно и ярко отображаются цвета по всему графу независимо от положения источника света.
Значение должно быть между 0.0f и 1.0f.
Функции доступа:
| float | ambientLightStrength() const |
| void | setAmbientLightStrength(float strength) |
Сигнал уведомления:
| void | ambientLightStrengthChanged(float strength) |
backgroundColor : QColor
Это свойство содержит цвет фона графа.
Функции доступа:
| QColor | backgroundColor() const |
| void | setBackgroundColor(const QColor &color) |
Сигнал уведомления:
| void | backgroundColorChanged(const QColor &color) |
backgroundEnabled : bool
Это свойство определяет, видим ли фон.
Фон рисуется с использованием значения backgroundColor.
Функции доступа:
| bool | isBackgroundEnabled() const |
| void | setBackgroundEnabled(bool enabled) |
Сигнал уведомления:
| void | backgroundEnabledChanged(bool enabled) |
baseColors : QList<QColor>
Это свойство содержит список базовых цветов, которые будут использоваться для всех объектов на графике, серия за серией.
Если серий больше, чем цветов, список цветов зацикливается и начинается снова с первого цвета в списке.
Не оказывает немедленного действия, если colorStyle не равно ColorStyleUniform.
Это значение может быть переопределено путем явного задания baseColor в серии.
Функции доступа:
| QList<QColor> | baseColors() const |
| void | setBaseColors(const QList<QColor> &colors) |
Сигнал уведомления:
| void | baseColorsChanged(const QList<QColor> &colors) |
baseGradients : QList<QLinearGradient>
Это свойство содержит список базовых градиентов, которые будут использоваться для всех объектов на графике, серия за серией.
Если серий больше, чем градиентов, список градиентов зацикливается и начинается снова с первого градиента в списке.
Не оказывает немедленного действия, если colorStyle равно ColorStyleUniform.
Это значение может быть переопределено путем явного задания baseGradient в серии.
Функции доступа:
| QList<QLinearGradient> | baseGradients() const |
| void | setBaseGradients(const QList<QLinearGradient> &gradients) |
Сигнал уведомления:
| void | baseGradientsChanged(const QList<QLinearGradient> &gradients) |
colorStyle : ColorStyle
Это свойство содержит стиль цветов графика.
Одно из значений перечисления ColorStyle.
Это значение может быть переопределено путем явного задания colorStyle в серии.
Функции доступа:
| Q3DTheme::ColorStyle | colorStyle() const |
| void | setColorStyle(Q3DTheme::ColorStyle style) |
Сигнал уведомления:
| void | colorStyleChanged(Q3DTheme::ColorStyle style) |
font : QFont
Это свойство содержит шрифт, который будет использоваться для меток.
Функции доступа:
| QFont | font() const |
| void | setFont(const QFont &font) |
Сигнал уведомления:
| void | fontChanged(const QFont &font) |
gridEnabled : bool
Это свойство определяет, рисуются ли линии сетки.
Это значение влияет на все линии сетки.
Функции доступа:
| bool | isGridEnabled() const |
| void | setGridEnabled(bool enabled) |
Сигнал уведомления:
| void | gridEnabledChanged(bool enabled) |
gridLineColor : QColor
Это свойство содержит цвет линий сетки.
Функции доступа:
| QColor | gridLineColor() const |
| void | setGridLineColor(const QColor &color) |
Сигнал уведомления:
| void | gridLineColorChanged(const QColor &color) |
highlightLightStrength : float
Это свойство содержит значение яркости бликов для выделенных объектов.
Значение должно быть между 0.0f и 10.0f.
Функции доступа:
| float | highlightLightStrength() const |
| void | setHighlightLightStrength(float strength) |
Сигнал уведомления:
| void | highlightLightStrengthChanged(float strength) |
labelBackgroundColor : QColor
Это свойство содержит цвет фонов меток.
Не оказывает действия, если labelBackgroundEnabled равно false.
Функции доступа:
| QColor | labelBackgroundColor() const |
| void | setLabelBackgroundColor(const QColor &color) |
Сигнал уведомления:
| void | labelBackgroundColorChanged(const QColor &color) |
labelBackgroundEnabled : bool
Это свойство определяет, отображается ли метка с цветным фоном или полностью прозрачным.
Значение labelBackgroundColor (включая альфа-канал) используется для отрисовки фона.
Метки с фоном рисуются с равными размерами по каждой оси, исходя из самой длинной метки, а текст центрируется внутри. Метки без фона рисуются как есть и выравниваются по левому или правому краю в зависимости от их позиции на графике.
Функции доступа:
| bool | isLabelBackgroundEnabled() const |
| void | setLabelBackgroundEnabled(bool enabled) |
Сигнал уведомления:
| void | labelBackgroundEnabledChanged(bool enabled) |
labelBorderEnabled : bool
Это свойство определяет, отрисовываются ли границы меток для меток с фоном.
Не оказывает никакого влияния, если labelBackgroundEnabled равно false.
Функции доступа:
| bool | isLabelBorderEnabled() const |
| void | setLabelBorderEnabled(bool enabled) |
Сигнал уведомления:
| void | labelBorderEnabledChanged(bool enabled) |
labelTextColor : QColor
Это свойство определяет цвет шрифта, используемого для меток.
Функции доступа:
| QColor | labelTextColor() const |
| void | setLabelTextColor(const QColor &color) |
Сигнал уведомления:
| void | labelTextColorChanged(const QColor &color) |
lightColor : QColor
Это свойство определяет цвет окружающего и зеркального света.
Это значение влияет на свет, заданный в Q3DScene.
Функции доступа:
| QColor | lightColor() const |
| void | setLightColor(const QColor &color) |
Сигнал уведомления:
| void | lightColorChanged(const QColor &color) |
lightStrength : float
Это свойство определяет интенсивность зеркального света для всего графика.
Значение должно быть в диапазоне от 0.0f до 10.0f.
Это значение влияет на свет, заданный в Q3DScene.
Функции доступа:
| float | lightStrength() const |
| void | setLightStrength(float strength) |
Сигнал уведомления:
| void | lightStrengthChanged(float strength) |
multiHighlightColor : QColor
Это свойство определяет цвет выделения для выбранных объектов.
Используется, если в selectionMode установлены флаги QAbstract3DGraph::SelectionRow или QAbstract3DGraph::SelectionColumn.
Функции доступа:
| QColor | multiHighlightColor() const |
| void | setMultiHighlightColor(const QColor &color) |
Сигнал уведомления:
| void | multiHighlightColorChanged(const QColor &color) |
multiHighlightGradient : QLinearGradient
Это свойство определяет градиент выделения для выбранных объектов.
Используется, если в selectionMode установлены флаги QAbstract3DGraph::SelectionRow или QAbstract3DGraph::SelectionColumn.
Функции доступа:
| QLinearGradient | multiHighlightGradient() const |
| void | setMultiHighlightGradient(const QLinearGradient &gradient) |
Сигнал уведомления:
| void | multiHighlightGradientChanged(const QLinearGradient &gradient) |
singleHighlightColor : QColor
Это свойство определяет цвет выделения для одного выбранного объекта.
Используется, если в selectionMode установлен флаг QAbstract3DGraph::SelectionItem.
Функции доступа:
| QColor | singleHighlightColor() const |
| void | setSingleHighlightColor(const QColor &color) |
Сигнал уведомления:
| void | singleHighlightColorChanged(const QColor &color) |
singleHighlightGradient : QLinearGradient
Это свойство определяет градиент выделения для одного выбранного объекта.
Используется, если в selectionMode установлен флаг QAbstract3DGraph::SelectionItem.
Функции доступа:
| QLinearGradient | singleHighlightGradient() const |
| void | setSingleHighlightGradient(const QLinearGradient &gradient) |
Сигнал уведомления:
| void | singleHighlightGradientChanged(const QLinearGradient &gradient) |
type : Theme
Это свойство определяет тип темы.
Тип автоматически устанавливается при создании темы, но также может быть изменён позже. Изменение типа темы изменит все другие свойства темы в соответствии с предопределённой темой. Изменение типа темы активной для графика также сбросит все присоединённые ряды, чтобы они использовали новую тему.
Функции доступа:
| Q3DTheme::Theme | type() const |
| void | setType(Q3DTheme::Theme themeType) |
Сигнал уведомления:
| void | typeChanged(Q3DTheme::Theme themeType) |
windowColor : QColor
Это свойство определяет цвет окна приложения, в котором отображается график.
Функции доступа:
| QColor | windowColor() const |
| void | setWindowColor(const QColor &color) |
Сигнал уведомления:
| void | windowColorChanged(const QColor &color) |
Документация по функциям-членам
Q3DTheme::Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)
Создаёт новую тему с типом themeType, который может быть одним из встроенных типов тем из Theme. Дополнительный параметр parent может быть передан и затем передаётся в конструктор QObject.
Q3DTheme::Q3DTheme(QObject *parent = nullptr)
Создаёт новую тему типа ThemeUserDefined. Дополнительный параметр parent может быть передан и затем передаётся в конструктор QObject.
[virtual] Q3DTheme::~Q3DTheme()
Удаляет тему.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/q3dtheme.html