QGraphsTheme Class
QGraphsTheme class provides a visual style for graphs. More...
Header: | #include <QGraphsTheme> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake: | QT += graphs |
Instantiated By: | GraphsTheme |
Inherits: | QObject and QQmlParserStatus |
- List of all members, including inherited members
- QGraphsTheme is part of Qt Graphs C++ Classes.
Public Types
enum class | ColorStyle { Uniform, ObjectGradient, RangeGradient } |
enum class | Theme { QtGreen, QtGreenNeon, MixSeries, OrangeSeries, YellowSeries, …, UserDefined } |
Properties
Public Functions
QColor | axisXLabelColor() const |
QFont | axisXLabelFont() const |
QColor | axisXMainColor() const |
float | axisXMainWidth() const |
QColor | axisXSubColor() const |
float | axisXSubWidth() const |
QColor | axisYLabelColor() const |
QFont | axisYLabelFont() const |
QColor | axisYMainColor() const |
float | axisYMainWidth() const |
QColor | axisYSubColor() const |
float | axisYSubWidth() const |
QColor | axisZLabelColor() const |
QFont | axisZLabelFont() const |
QColor | axisZMainColor() const |
float | axisZMainWidth() const |
QColor | axisZSubColor() const |
float | axisZSubWidth() const |
QColor | backgroundColor() const |
QList<QColor> | borderColors() const |
qreal | borderWidth() const |
Qt::ColorScheme | colorScheme() const |
QGraphsTheme::ColorStyle | colorStyle() const |
QColor | gridMainColor() const |
float | gridMainWidth() const |
QColor | gridSubColor() const |
float | gridSubWidth() const |
bool | isBackgroundEnabled() const |
bool | isGridEnabled() const |
bool | isLabelBackgroundEnabled() const |
bool | isLabelBorderEnabled() const |
bool | isLabelsEnabled() const |
bool | isPlotAreaBackgroundEnabled() const |
QColor | labelBackgroundColor() const |
QFont | labelFont() const |
QColor | labelTextColor() const |
QColor | multiHighlightColor() const |
QColor | plotAreaBackgroundColor() const |
QList<QColor> | seriesColors() const |
QList<QLinearGradient> | seriesGradients() const |
void | setAxisXLabelColor(const QColor &newAxisXLabelColor) |
void | setAxisXLabelFont(const QFont &newAxisXLabelFont) |
void | setAxisXMainColor(const QColor &newAxisXMainColor) |
void | setAxisXMainWidth(float newAxisXMainWidth) |
void | setAxisXSubColor(const QColor &newAxisXSubColor) |
void | setAxisXSubWidth(float newAxisXSubWidth) |
void | setAxisYLabelColor(const QColor &newAxisYLabelColor) |
void | setAxisYLabelFont(const QFont &newAxisYLabelFont) |
void | setAxisYMainColor(const QColor &newAxisYMainColor) |
void | setAxisYMainWidth(float newAxisYMainWidth) |
void | setAxisYSubColor(const QColor &newAxisYSubColor) |
void | setAxisYSubWidth(float newAxisYSubWidth) |
void | setAxisZLabelColor(const QColor &newAxisZLabelColor) |
void | setAxisZLabelFont(const QFont &newAxisZLabelFont) |
void | setAxisZMainColor(const QColor &newAxisZMainColor) |
void | setAxisZMainWidth(float newAxisZMainWidth) |
void | setAxisZSubColor(const QColor &newAxisZSubColor) |
void | setAxisZSubWidth(float newAxisZSubWidth) |
void | setBackgroundColor(const QColor &newBackgroundColor) |
void | setBackgroundEnabled(bool newBackgroundEnabled) |
void | setBorderColors(const QList<QColor> &newBorderColors) |
void | setBorderWidth(qreal newBorderWidth) |
void | setColorScheme(Qt::ColorScheme newColorScheme) |
void | setColorStyle(QGraphsTheme::ColorStyle newColorStyle) |
void | setGridEnabled(bool newGridEnabled) |
void | setGridMainColor(const QColor &newgridMainColor) |
void | setGridMainWidth(float newgridMainWidth) |
void | setGridSubColor(const QColor &newgridSubColor) |
void | setGridSubWidth(float newgridSubWidth) |
void | setLabelBackgroundColor(const QColor &newLabelBackgroundColor) |
void | setLabelBackgroundEnabled(bool newLabelBackgroundEnabled) |
void | setLabelBorderEnabled(bool newLabelBorderEnabled) |
void | setLabelFont(const QFont &newFont) |
void | setLabelTextColor(const QColor &newLabelTextColor) |
void | setLabelsEnabled(bool newLabelsEnabled) |
void | setMultiHighlightColor(const QColor &newMultiHighlightColor) |
void | setMultiHighlightGradient(const QLinearGradient &gradient) |
void | setPlotAreaBackgroundColor(const QColor &newBackgroundColor) |
void | setPlotAreaBackgroundEnabled(bool newBackgroundEnabled) |
void | setSeriesColors(const QList<QColor> &newSeriesColors) |
void | setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients) |
void | setSingleHighlightColor(const QColor &newSingleHighlightColor) |
void | setSingleHighlightGradient(const QLinearGradient &gradient) |
void | setTheme(QGraphsTheme::Theme newTheme, bool force = false) |
QColor | singleHighlightColor() const |
QGraphsTheme::Theme | theme() const |
Signals
Detailed Description
Specifies visual properties that affect the whole graph. There are several built-in themes that can be used as is or modified freely.
Themes can be created from scratch using the UserDefined enum value. Creating a theme using the default constructor produces a new user-defined theme.
Default Theme
The following table lists the properties controlled by themes and the default values for UserDefined.
Property | Default Value |
---|---|
backgroundEnabled | true |
seriesColors | Qt::black |
seriesGradients | QLinearGradient. Essentially fully black. |
colorStyle | Uniform |
labelFont | QFont |
gridEnabled | true |
gridMainWidth | 0.25 |
labelBackgroundEnabled | true |
labelBorderEnabled | true |
labelsEnabled | true |
Usage Examples
Creating a built-in theme without any modifications:
QGraphsTheme *theme = new QGraphsTheme();
Creating a built-in theme and modifying some properties:
QGraphsTheme *theme = new QGraphsTheme(); theme->setBackgroundEnabled(false); theme->setLabelBackgroundEnabled(false);
Creating a user-defined theme:
QGraphsTheme *theme = new QGraphsTheme(); theme->setBackgroundColor(QColor(QRgb(0x99ca53))); theme->setBackgroundEnabled(true); QList<QColor> colors = { QColor(QRgb(0x209fdf)) }; theme->setSeriesColors(colors); theme->setColorStyle(QGraphsTheme::ColorStyle::Uniform); theme->setLabelFont(QFont(QStringLiteral("Impact"), 35)); theme->setGridEnabled(true); theme->setGridMainColor(QColor(QRgb(0x99ca53))); theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0)); theme->setLabelBackgroundEnabled(true); theme->setLabelBorderEnabled(true); theme->setLabelTextColor(QColor(QRgb(0x404044))); theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5))); theme->setSingleHighlightColor(QColor(QRgb(0xf6a625))); theme->setWindowColor(QColor(QRgb(0xffffff)));
Creating a built-in theme and modifying some properties after it has been set:
Member Type Documentation
enum class QGraphsTheme::ColorStyle
Gradient types.
Constant | Value | Description |
---|---|---|
QGraphsTheme::ColorStyle::Uniform | 0 | Objects are rendered in a single color. The color used is specified in seriesColors, singleHighlightColor and multiHighlightColor properties. |
QGraphsTheme::ColorStyle::ObjectGradient | 1 | Objects are colored using a full gradient for each object regardless of object height. The gradient used is specified in seriesGradients, singleHighlightGradient and multiHighlightGradient properties. |
QGraphsTheme::ColorStyle::RangeGradient | 2 | Objects are colored using a portion of the full gradient determined by the object's height and its position on the Y-axis. The gradient used is specified in seriesGradients, singleHighlightGradient and multiHighlightGradient properties. |
enum class QGraphsTheme::Theme
Built-in themes.
Constant | Value | Description |
---|---|---|
QGraphsTheme::Theme::QtGreen | 0 | A light theme with green as the base color. |
QGraphsTheme::Theme::QtGreenNeon | 1 | A light theme with green neon as the base color. |
QGraphsTheme::Theme::MixSeries | 2 | A mixed theme with various colors. |
QGraphsTheme::Theme::OrangeSeries | 3 | A theme with Orange as the base color. |
QGraphsTheme::Theme::YellowSeries | 4 | A theme with Yellow as the base color. |
QGraphsTheme::Theme::BlueSeries | 5 | A theme with Blue as the base color. |
QGraphsTheme::Theme::PurpleSeries | 6 | A theme with Purple as the base color. |
QGraphsTheme::Theme::GreySeries | 7 | A theme with Grey as the base color. |
QGraphsTheme::Theme::UserDefined | 8 | A user-defined theme. For more information, see Default Theme. |
Property Documentation
axisXLabelColor : QColor
This property holds the text color to be used for labels on x axis
Access functions:
QColor | axisXLabelColor() const |
void | setAxisXLabelColor(const QColor &newAxisXLabelColor) |
Notifier signal:
void | axisXLabelColorChanged() |
axisXLabelFont : QFont
This property holds the font to be used for labels on x axis.
Access functions:
QFont | axisXLabelFont() const |
void | setAxisXLabelFont(const QFont &newAxisXLabelFont) |
Notifier signal:
void | axisXLabelFontChanged() |
axisXMainColor : QColor
This property holds the color of the x axis main lines.
Access functions:
QColor | axisXMainColor() const |
void | setAxisXMainColor(const QColor &newAxisXMainColor) |
Notifier signal:
void | axisXMainColorChanged() |
axisXMainWidth : float
This property holds the width of the x axis main lines.
Access functions:
float | axisXMainWidth() const |
void | setAxisXMainWidth(float newAxisXMainWidth) |
Notifier signal:
void | axisXMainWidthChanged() |
axisXSubColor : QColor
This property holds the color of the x axis sub lines.
Access functions:
QColor | axisXSubColor() const |
void | setAxisXSubColor(const QColor &newAxisXSubColor) |
Notifier signal:
void | axisXSubColorChanged() |
axisXSubWidth : float
This property holds the width of the x axis sub lines.
Access functions:
float | axisXSubWidth() const |
void | setAxisXSubWidth(float newAxisXSubWidth) |
Notifier signal:
void | axisXSubWidthChanged() |
axisYLabelColor : QColor
This property holds the text color to be used for labels on y axis
Access functions:
QColor | axisYLabelColor() const |
void | setAxisYLabelColor(const QColor &newAxisYLabelColor) |
Notifier signal:
void | axisYLabelColorChanged() |
axisYLabelFont : QFont
This property holds the font to be used for labels on y axis.
Access functions:
QFont | axisYLabelFont() const |
void | setAxisYLabelFont(const QFont &newAxisYLabelFont) |
Notifier signal:
void | axisYLabelFontChanged() |
axisYMainColor : QColor
This property holds the color of the y axis main lines.
Access functions:
QColor | axisYMainColor() const |
void | setAxisYMainColor(const QColor &newAxisYMainColor) |
Notifier signal:
void | axisYMainColorChanged() |
axisYMainWidth : float
This property holds the width of the y axis main lines.
Access functions:
float | axisYMainWidth() const |
void | setAxisYMainWidth(float newAxisYMainWidth) |
Notifier signal:
void | axisYMainWidthChanged() |
axisYSubColor : QColor
This property holds the color of the y axis sub lines.
Access functions:
QColor | axisYSubColor() const |
void | setAxisYSubColor(const QColor &newAxisYSubColor) |
Notifier signal:
void | axisYSubColorChanged() |
axisYSubWidth : float
This property holds the width of the y axis sub lines.
Access functions:
float | axisYSubWidth() const |
void | setAxisYSubWidth(float newAxisYSubWidth) |
Notifier signal:
void | axisYSubWidthChanged() |
axisZLabelColor : QColor
This property holds the text color to be used for labels on z axis
Access functions:
QColor | axisZLabelColor() const |
void | setAxisZLabelColor(const QColor &newAxisZLabelColor) |
Notifier signal:
void | axisZLabelColorChanged() |
axisZLabelFont : QFont
This property holds the font to be used for labels on z axis.
Access functions:
QFont | axisZLabelFont() const |
void | setAxisZLabelFont(const QFont &newAxisZLabelFont) |
Notifier signal:
void | axisZLabelFontChanged() |
axisZMainColor : QColor
This property holds the color of the z axis main lines.
Access functions:
QColor | axisZMainColor() const |
void | setAxisZMainColor(const QColor &newAxisZMainColor) |
Notifier signal:
void | axisZMainColorChanged() |
axisZMainWidth : float
This property holds the width of the z axis main lines.
Access functions:
float | axisZMainWidth() const |
void | setAxisZMainWidth(float newAxisZMainWidth) |
Notifier signal:
void | axisZMainWidthChanged() |
axisZSubColor : QColor
This property holds the color of the z axis sub lines.
Access functions:
QColor | axisZSubColor() const |
void | setAxisZSubColor(const QColor &newAxisZSubColor) |
Notifier signal:
void | axisZSubColorChanged() |
axisZSubWidth : float
This property holds the width of the z axis sub lines.
Access functions:
float | axisZSubWidth() const |
void | setAxisZSubWidth(float newAxisZSubWidth) |
Notifier signal:
void | axisZSubWidthChanged() |
backgroundColor : QColor
This property holds the color of the view the graph is drawn into.
Access functions:
QColor | backgroundColor() const |
void | setBackgroundColor(const QColor &newBackgroundColor) |
Notifier signal:
void | backgroundColorChanged() |
backgroundEnabled : bool
This property holds whether the background is visible.
The background is drawn by using the value of backgroundColor.
Access functions:
bool | isBackgroundEnabled() const |
void | setBackgroundEnabled(bool newBackgroundEnabled) |
Notifier signal:
void | backgroundEnabledChanged() |
borderColors : QList<QColor>
This property holds the list of border colors to be used for all the objects in the graph, series by series.
If there are more series than colors, the color list wraps and starts again with the first color in the list.
Has no immediate effect if colorStyle is not Uniform.
Access functions:
QList<QColor> | borderColors() const |
void | setBorderColors(const QList<QColor> &newBorderColors) |
Notifier signal:
void | borderColorsChanged() |
borderWidth : qreal
This property holds the width of borders in graph if any
Access functions:
qreal | borderWidth() const |
void | setBorderWidth(qreal newBorderWidth) |
Notifier signal:
void | borderWidthChanged() |
gridEnabled : bool
This property holds whether the grid lines are drawn.
This value affects all grid lines.
Access functions:
bool | isGridEnabled() const |
void | setGridEnabled(bool newGridEnabled) |
Notifier signal:
void | gridEnabledChanged() |
gridMainColor : QColor
This property holds the color of the main grid lines.
Access functions:
QColor | gridMainColor() const |
void | setGridMainColor(const QColor &newgridMainColor) |
Notifier signal:
void | gridMainColorChanged() |
gridMainWidth : float
This property holds the width of the main grid lines.
Access functions:
float | gridMainWidth() const |
void | setGridMainWidth(float newgridMainWidth) |
Notifier signal:
void | gridMainWidthChanged() |
gridSubColor : QColor
This property holds the color of the subgrid lines.
Access functions:
QColor | gridSubColor() const |
void | setGridSubColor(const QColor &newgridSubColor) |
Notifier signal:
void | gridSubColorChanged() |
gridSubWidth : float
This property holds the width of the subgrid lines.
Access functions:
float | gridSubWidth() const |
void | setGridSubWidth(float newgridSubWidth) |
Notifier signal:
void | gridSubWidthChanged() |
labelBackgroundColor : QColor
This property holds the color of the label backgrounds.
Has no effect if labelBackgroundEnabled is false
.
Access functions:
QColor | labelBackgroundColor() const |
void | setLabelBackgroundColor(const QColor &newLabelBackgroundColor) |
Notifier signal:
void | labelBackgroundColorChanged() |
labelBackgroundEnabled : bool
This property holds whether the label is drawn with a color background or with a fully transparent background.
The labelBackgroundColor value (including alpha) is used for drawing the background.
Labels with a background are drawn to equal sizes per axis based on the longest label, and the text is centered in them. Labels without a background are drawn as is and are left or right aligned based on their position in the graph.
Access functions:
bool | isLabelBackgroundEnabled() const |
void | setLabelBackgroundEnabled(bool newLabelBackgroundEnabled) |
Notifier signal:
void | labelBackgroundEnabledChanged() |
labelBorderEnabled : bool
This property holds whether label borders are drawn for labels that have a background.
Has no effect if labelBackgroundEnabled is false
.
Access functions:
bool | isLabelBorderEnabled() const |
void | setLabelBorderEnabled(bool newLabelBorderEnabled) |
Notifier signal:
void | labelBorderEnabledChanged() |
labelFont : QFont
This property holds the font to be used for labels.
Access functions:
QFont | labelFont() const |
void | setLabelFont(const QFont &newFont) |
Notifier signal:
void | labelFontChanged() |
labelTextColor : QColor
This property holds the color of the font used for labels.
Access functions:
QColor | labelTextColor() const |
void | setLabelTextColor(const QColor &newLabelTextColor) |
Notifier signal:
void | labelTextColorChanged() |
labelsEnabled : bool
This property holds whether labels are drawn at all.
If this is false
, all other label properties have no effect.
Access functions:
bool | isLabelsEnabled() const |
void | setLabelsEnabled(bool newLabelsEnabled) |
Notifier signal:
void | labelsEnabledChanged() |
multiHighlightColor : QColor
This property holds the highlight color for selected objects.
Used if selectionMode has the QAbstract3DGraph::SelectionRow
or QAbstract3DGraph::SelectionColumn
flag set.
Access functions:
QColor | multiHighlightColor() const |
void | setMultiHighlightColor(const QColor &newMultiHighlightColor) |
Notifier signal:
void | multiHighlightColorChanged() |
multiHighlightGradient : QJSValue
This property holds the highlight gradient for selected objects.
Used if selectionMode has the QAbstract3DGraph::SelectionRow
or QAbstract3DGraph::SelectionColumn
flag set.
Access functions:
void | setMultiHighlightGradient(const QLinearGradient &gradient) |
Notifier signal:
void | multiHighlightGradientQMLChanged() |
plotAreaBackgroundColor : QColor
This property holds the color of the graph plot area background.
Access functions:
QColor | plotAreaBackgroundColor() const |
void | setPlotAreaBackgroundColor(const QColor &newBackgroundColor) |
Notifier signal:
void | plotAreaBackgroundColorChanged() |
plotAreaBackgroundEnabled : bool
This property holds whether the plot area background is visible.
The background is drawn by using the value of plotAreaBackgroundColor.
Access functions:
bool | isPlotAreaBackgroundEnabled() const |
void | setPlotAreaBackgroundEnabled(bool newBackgroundEnabled) |
Notifier signal:
void | plotAreaBackgroundEnabledChanged() |
seriesColors : QList<QColor>
This property holds the list of base colors to be used for all the objects in the graph, series by series.
If there are more series than colors, the color list wraps and starts again with the first color in the list.
Has no immediate effect if colorStyle is not Uniform.
This value can be overridden by setting the baseColor explicitly in the series.
Access functions:
QList<QColor> | seriesColors() const |
void | setSeriesColors(const QList<QColor> &newSeriesColors) |
Notifier signal:
void | seriesColorsChanged(const QList<QColor> &list) |
seriesGradients : QList<QLinearGradient>
This property holds the list of base gradients to be used for all the objects in the graph, series by series.
If there are more series than gradients, the gradient list wraps and starts again with the first gradient in the list
Has no immediate effect if colorStyle is Uniform.
This value can be overridden by setting the baseGradient explicitly in the series.
Access functions:
QList<QLinearGradient> | seriesGradients() const |
void | setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients) |
Notifier signal:
void | seriesGradientsChanged(const QList<QLinearGradient> &list) |
singleHighlightColor : QColor
This property holds the highlight color for a selected object.
Used if selectionMode has the QAbstract3DGraph::SelectionItem
flag set.
Access functions:
QColor | singleHighlightColor() const |
void | setSingleHighlightColor(const QColor &newSingleHighlightColor) |
Notifier signal:
void | singleHighlightColorChanged() |
singleHighlightGradient : QJSValue
This property holds the highlight gradient for a selected object.
Used if selectionMode has the QAbstract3DGraph::SelectionItem
flag set.
Access functions:
void | setSingleHighlightGradient(const QLinearGradient &gradient) |
Notifier signal:
void | singleHighlightGradientQMLChanged() |
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.