Класс Q3DTheme
Класс Q3DTheme предоставляет визуальный стиль для графиков. Подробнее...
| Заголовок: | #include <Q3DTheme> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | Theme3D |
| Наследуется от: | QObject |
Этот класс был представлен в QtDataVisualization 1.0.
Общие типы
| Перечисление | ColorStyle { ColorStyleUniform, ColorStyleObjectGradient, ColorStyleRangeGradient } |
| Перечисление | Theme { 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-5.15/q3dtheme.html