Класс Q3DTheme
Класс Q3DTheme предоставляет визуальный стиль для графиков. Подробнее...
| Заголовок: | #include <Q3DTheme> |
| С тех пор: | QtDataVisualization 1.0 |
| Инициализируется: | Theme3D |
| Наследует: | QObject |
Типы
| перечисление | ЦветСтиль { ЦветСтильОднородный, ЦветСтильГрадиентОбъекта, ЦветСтильГрадиентДиапазона } |
| перечисление | Стиль { СтильQt, СтильОсновныеЦвета, СтильDigia, СтильКаменьМох, СтильАрмейскийСиний, …, СтильПользовательский } |
Свойства
|
|
Общедоступные функции
| 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);
Документация по типам членов
enum Q3DTheme::ColorStyle
Стили цвета.
| Константа | Значение | Описание |
|---|---|---|
Q3DTheme::ColorStyleUniform |
0 |
Объекты отрисовываются в одном цвете. Используемый цвет задаётся в свойствах baseColors, singleHighlightColor и multiHighlightColor. |
Q3DTheme::ColorStyleObjectGradient |
1 |
Объекты окрашиваются с использованием полного градиента для каждого объекта независимо от высоты объекта. Используемый градиент задаётся в свойствах baseGradients, singleHighlightGradient и multiHighlightGradient. |
Q3DTheme::ColorStyleRangeGradient |
2 |
Объекты окрашиваются с использованием части полного градиента, определяемой высотой объекта и его положением на оси Y. Используемый градиент задаётся в свойствах baseGradients, singleHighlightGradient и multiHighlightGradient. |
enum 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.1/q3dtheme.html