Sur cette page

QGraphsTheme Class

La classe QGraphsTheme fournit un style visuel pour les graphiques. Plus d'informations...

En-tête : #include <QGraphsTheme>
CMake : find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
En QML : GraphsTheme
Hérite : QObject et QQmlParserStatus

Types publics

enum class ColorScheme { Automatic, Light, Dark }
enum class ColorStyle { Uniform, ObjectGradient, RangeGradient }
enum class Theme { QtGreen, QtGreenNeon, MixSeries, OrangeSeries, YellowSeries, …, UserDefined }

Propriétés

Fonctions publiques

QGraphsLine axisX() const
QFont axisXLabelFont() const
QGraphsLine axisY() const
QFont axisYLabelFont() const
QGraphsLine axisZ() const
QFont axisZLabelFont() const
QColor backgroundColor() const
QList<QColor> borderColors() const
qreal borderWidth() const
QGraphsTheme::ColorScheme colorScheme() const
QGraphsTheme::ColorStyle colorStyle() const
QGraphsLine grid() const
bool isBackgroundVisible() const
bool isGridVisible() const
bool isLabelBackgroundVisible() const
bool isLabelBorderVisible() const
bool isPlotAreaBackgroundVisible() const
QColor labelBackgroundColor() const
QFont labelFont() const
QColor labelTextColor() const
bool labelsVisible() const
QColor multiHighlightColor() const
QColor plotAreaBackgroundColor() const
QList<QColor> seriesColors() const
QList<QLinearGradient> seriesGradients() const
void setAxisX(const QGraphsLine &newAxisX)
void setAxisXLabelFont(const QFont &newAxisXLabelFont)
void setAxisY(const QGraphsLine &newAxisY)
void setAxisYLabelFont(const QFont &newAxisYLabelFont)
void setAxisZ(const QGraphsLine &newAxisZ)
void setAxisZLabelFont(const QFont &newAxisZLabelFont)
void setBackgroundColor(QColor newBackgroundColor)
void setBackgroundVisible(bool newBackgroundVisible)
void setBorderColors(const QList<QColor> &newBorderColors)
void setBorderWidth(qreal newBorderWidth)
void setColorScheme(QGraphsTheme::ColorScheme newColorScheme)
void setColorStyle(QGraphsTheme::ColorStyle newColorStyle)
void setGrid(const QGraphsLine &newGrid)
void setGridVisible(bool newGridVisibility)
void setLabelBackgroundColor(QColor newLabelBackgroundColor)
void setLabelBackgroundVisible(bool newLabelBackgroundVisibility)
void setLabelBorderVisible(bool newLabelBorderVisibility)
void setLabelFont(const QFont &newFont)
void setLabelTextColor(QColor newLabelTextColor)
void setLabelsVisible(bool newLabelsVisibility)
void setMultiHighlightColor(QColor newMultiHighlightColor)
void setPlotAreaBackgroundColor(QColor newBackgroundColor)
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)
void setSeriesColors(const QList<QColor> &newSeriesColors)
void setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)
void setSingleHighlightColor(QColor newSingleHighlightColor)
void setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No)
QColor singleHighlightColor() const
QGraphsTheme::Theme theme() const

Signaux

Description détaillée

Spécifie les propriétés visuelles qui affectent l'ensemble du graphique. Il existe plusieurs thèmes intégrés qui peuvent être utilisés tels quels ou modifiés librement.

Les thèmes peuvent être créés à partir de zéro en utilisant la valeur de l'enum UserDefined. La création d'un thème à l'aide du constructeur par défaut produit un nouveau thème défini par l'utilisateur.

Personnalisation du thème

Le thème par défaut est QtGreen, mais il est possible de personnaliser chaque propriété.

Le tableau suivant répertorie les propriétés contrôlées par un thème et les valeurs par défaut pour UserDefined.

PropriétéValeur par défaut
backgroundVisibletrue
seriesColorsQt::black
seriesGradientsQLinearGradient. Essentiellement entièrement noir.
colorStyleUniforme
labelFontQFont
gridVisibletrue
labelBackgroundVisibletrue
labelBorderVisibletrue
labelsVisibletrue

Exemples d'utilisation

Création d'un thème intégré sans aucune modification :

QGraphsTheme *theme = new QGraphsTheme();

Création d'un thème intégré et modification de certaines propriétés :

QGraphsTheme *theme = new QGraphsTheme();
theme->setBackgroundVisible(false);
theme->setLabelBackgroundVisible(false);

Modification d'un thème défini par l'utilisateur. Le thème a été créé de la même manière que dans les exemples précédents :

theme->setTheme(QGraphsTheme::Theme::UserDefined);
theme->setBackgroundColor(QColor(QRgb(0x99ca53)));
theme->setBackgroundVisible(true);
QList<QColor> colors = { QColor(QRgb(0x209fdf)) };
theme->setSeriesColors(colors);
theme->setColorStyle(QGraphsTheme::ColorStyle::Uniform);
theme->setLabelFont(QFont(QStringLiteral("Impact"), 35));
theme->setGridVisible(true);
auto gridline = theme->grid();
gridline.setMainColor(QColor(QRgb(0x99ca53)));
theme->setGrid(gridline);
theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0));
theme->setLabelBackgroundVisible(true);
theme->setLabelBorderVisible(true);
theme->setLabelTextColor(QColor(QRgb(0x404044)));
theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5)));
theme->setSingleHighlightColor(QColor(QRgb(0xf6a625)));
theme->setBackgroundColor(QColor(QRgb(0xffffff)));

Modification de certaines propriétés après que le thème a été défini comme un graphique :

QQuickWidget quickWidget;
Q3DBarsWidgetItem bars;
bars.setWidget(&quickWidget);
bars.widget()->setMinimumSize(QSize(512, 512));
bars.activeTheme()->setTheme(QGraphsTheme::Theme::MixSeries);
QList<QColor> color = { QColor(Qt::red) };
bars.activeTheme()->setSeriesColors(color);
bars.activeTheme()->setSingleHighlightColor(Qt::yellow);

Type de membre Documentation

enum class QGraphsTheme::ColorScheme

Représente la palette de couleurs du graphique.

ConstanteValeurDescription
QGraphsTheme::ColorScheme::Automatic0Les couleurs d'arrière-plan suivent le schéma de couleurs de la plate-forme s'il est disponible. Si elle n'est pas disponible, c'est l'apparence "Light" qui est utilisée.
QGraphsTheme::ColorScheme::Light1Les couleurs d'arrière-plan sont plus claires que la couleur du texte, c'est-à-dire que le thème est clair.
QGraphsTheme::ColorScheme::Dark2Les couleurs d'arrière-plan sont plus foncées que la couleur du texte, c'est-à-dire que le thème est sombre.

Voir aussi Qt::ColorScheme.

enum class QGraphsTheme::ColorStyle

Types de gradients.

ConstanteValeurDescription
QGraphsTheme::ColorStyle::Uniform0Les objets sont rendus dans une seule couleur. La couleur utilisée est spécifiée dans les propriétés seriesColors, singleHighlightColor et multiHighlightColor.
QGraphsTheme::ColorStyle::ObjectGradient1Les objets sont colorés à l'aide d'un dégradé complet pour chaque objet, quelle que soit sa hauteur. Le dégradé utilisé est spécifié dans les propriétés seriesGradients, singleHighlightGradient et multiHighlightGradient.
QGraphsTheme::ColorStyle::RangeGradient2Les objets sont colorés en utilisant une partie du dégradé complet déterminé par la hauteur de l'objet et sa position sur l'axe Y. Le dégradé utilisé est spécifié dans les propriétés , et . Le dégradé utilisé est spécifié dans les propriétés seriesGradients, singleHighlightGradient et multiHighlightGradient.

enum class QGraphsTheme::Theme

Thèmes intégrés.

ConstantesValeurDescription
QGraphsTheme::Theme::QtGreen0Un thème clair dont la couleur de base est le vert.
QGraphsTheme::Theme::QtGreenNeon1Un thème clair dont la couleur de base est le vert néon.
QGraphsTheme::Theme::MixSeries2Thème mixte avec différentes couleurs.
QGraphsTheme::Theme::OrangeSeries3Thème dont la couleur de base est l'orange.
QGraphsTheme::Theme::YellowSeries4Un thème dont la couleur de base est le jaune.
QGraphsTheme::Theme::BlueSeries5Un thème dont la couleur de base est le bleu.
QGraphsTheme::Theme::PurpleSeries6Un thème dont la couleur de base est le violet.
QGraphsTheme::Theme::GreySeries7Un thème dont la couleur de base est le gris.
QGraphsTheme::Theme::UserDefined8Un thème défini par l'utilisateur. Pour plus d'informations, voir Customizing Theme.

Documentation sur les propriétés

axisX : QGraphsLine

Les propriétés de style de la ligne et de l'étiquette de l'axe X pour le graphique.

Fonctions d'accès :

QGraphsLine axisX() const
void setAxisX(const QGraphsLine &newAxisX)

Signal de notification :

void axisXChanged()

axisXLabelFont : QFont

Cette propriété définit la police à utiliser pour les étiquettes sur l'axe des x.

Fonctions d'accès :

QFont axisXLabelFont() const
void setAxisXLabelFont(const QFont &newAxisXLabelFont)

Signal de notification :

void axisXLabelFontChanged()

axisY : QGraphsLine

Les propriétés de style de la ligne et de l'étiquette de l'axe Y pour le graphique.

Fonctions d'accès :

QGraphsLine axisY() const
void setAxisY(const QGraphsLine &newAxisY)

Signal de notification :

void axisYChanged()

axisYLabelFont : QFont

Cette propriété définit la police à utiliser pour les étiquettes sur l'axe des y.

Fonctions d'accès :

QFont axisYLabelFont() const
void setAxisYLabelFont(const QFont &newAxisYLabelFont)

Signal de notification :

void axisYLabelFontChanged()

axisZ : QGraphsLine

Les propriétés de style de la ligne et de l'étiquette de l'axe Z pour le graphique.

Fonctions d'accès :

QGraphsLine axisZ() const
void setAxisZ(const QGraphsLine &newAxisZ)

Signal de notification :

void axisZChanged()

axisZLabelFont : QFont

Cette propriété définit la police à utiliser pour les étiquettes sur l'axe z.

Fonctions d'accès :

QFont axisZLabelFont() const
void setAxisZLabelFont(const QFont &newAxisZLabelFont)

Signal de notification :

void axisZLabelFontChanged()

backgroundColor : QColor

Cette propriété définit la couleur de la vue dans laquelle le graphique est dessiné. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor backgroundColor() const
void setBackgroundColor(QColor newBackgroundColor)

Signal Notificateur :

void backgroundColorChanged()

backgroundVisible : bool

Cette propriété indique si l'arrière-plan est visible.

L'arrière-plan est dessiné en utilisant la valeur de backgroundColor. La valeur par défaut est true.

Fonctions d'accès :

bool isBackgroundVisible() const
void setBackgroundVisible(bool newBackgroundVisible)

Signal de notification :

void backgroundVisibleChanged()

[read-only] baseColors : const QQmlListProperty<QQuickGraphsColor>

La liste des couleurs de base à utiliser pour la série lors de l'utilisation du style de couleur ColorStyle::Uniform.

[read-only] baseGradients : const QQmlListProperty<QQuickGradient>

La liste des dégradés de base à utiliser pour la série lors de l'utilisation du style de couleur ColorStyle::RangeGradient.

borderColors : QList<QColor>

Cette propriété contient la liste des couleurs de bordure à utiliser pour tous les objets du graphique, série par série.

S'il y a plus de séries que de couleurs, la liste des couleurs s'enroule et recommence avec la première couleur de la liste.

N'a pas d'effet immédiat si colorStyle n'est pas Uniform.

Fonctions d'accès :

QList<QColor> borderColors() const
void setBorderColors(const QList<QColor> &newBorderColors)

Signal de notification :

void borderColorsChanged()

borderWidth : qreal

Cette propriété définit la largeur des bordures du graphique, le cas échéant La valeur par défaut est 1.0.

Fonctions d'accès :

qreal borderWidth() const
void setBorderWidth(qreal newBorderWidth)

Signal de notification :

void borderWidthChanged()

colorScheme : QGraphsTheme::ColorScheme

Le schéma de couleurs du graphique en cours d'utilisation.

Fonctions d'accès :

QGraphsTheme::ColorScheme colorScheme() const
void setColorScheme(QGraphsTheme::ColorScheme newColorScheme)

Signal de notification :

void colorSchemeChanged()

Voir aussi Qt::ColorScheme.

colorStyle : QGraphsTheme::ColorStyle

Le style des couleurs du graphique. Une des valeurs de l'énumération QGraphsTheme::ColorStyle.

Cette valeur peut être remplacée en définissant explicitement Abstract3DSeries.colorStyle dans la série.

Remarque : cette propriété n'a pas d'effet sur Qt Graphs for 2D.

Fonctions d'accès :

QGraphsTheme::ColorStyle colorStyle() const
void setColorStyle(QGraphsTheme::ColorStyle newColorStyle)

Notifier signal :

void colorStyleChanged(QGraphsTheme::ColorStyle type)

Voir aussi QGraphsTheme::ColorStyle.

grid : QGraphsLine

Propriétés de style de la ligne de grille pour le graphique.

Fonctions d'accès :

QGraphsLine grid() const
void setGrid(const QGraphsLine &newGrid)

Signal de notification :

void gridChanged()

gridVisible : bool

Cette propriété indique si les lignes de la grille sont dessinées.

Cette valeur affecte toutes les lignes de la grille. La valeur par défaut est true.

Fonctions d'accès :

bool isGridVisible() const
void setGridVisible(bool newGridVisibility)

Signal de notification :

void gridVisibleChanged()

labelBackgroundColor : QColor

Cette propriété définit la couleur de l'arrière-plan des étiquettes.

Elle n'a aucun effet si labelBackgroundVisible est false. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor labelBackgroundColor() const
void setLabelBackgroundColor(QColor newLabelBackgroundColor)

Signal du notificateur :

void labelBackgroundColorChanged()

labelBackgroundVisible : bool

Cette propriété indique si l'étiquette est dessinée avec un arrière-plan de couleur ou avec un arrière-plan entièrement transparent.

La valeur labelBackgroundColor (y compris alpha) est utilisée pour dessiner l'arrière-plan.

Les étiquettes avec un arrière-plan sont dessinées à des tailles égales par axe sur la base de l'étiquette la plus longue, et le texte est centré dans ces étiquettes. Les étiquettes sans arrière-plan sont dessinées telles quelles et sont alignées à gauche ou à droite en fonction de leur position dans le graphique. La valeur par défaut est true.

Fonctions d'accès :

bool isLabelBackgroundVisible() const
void setLabelBackgroundVisible(bool newLabelBackgroundVisibility)

Signal de notification :

void labelBackgroundVisibleChanged()

labelBorderVisible : bool

Cette propriété indique si les bordures des étiquettes sont dessinées pour les étiquettes qui ont un arrière-plan.

N'a aucun effet si labelBackgroundVisible est false. La valeur par défaut est true.

Fonctions d'accès :

bool isLabelBorderVisible() const
void setLabelBorderVisible(bool newLabelBorderVisibility)

Signal de notification :

void labelBorderVisibleChanged()

labelFont : QFont

Cette propriété définit la police de caractères à utiliser pour les étiquettes.

Fonctions d'accès :

QFont labelFont() const
void setLabelFont(const QFont &newFont)

Signal du notificateur :

void labelFontChanged()

labelTextColor : QColor

Cette propriété définit la couleur de la police utilisée pour les étiquettes.

Si un axe a spécifié explicitement labelTextColor, cette propriété n'a aucun effet.

La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor labelTextColor() const
void setLabelTextColor(QColor newLabelTextColor)

Signal de notification :

void labelTextColorChanged()

labelsVisible : bool

Cette propriété détermine si les étiquettes sont dessinées ou non.

Si la valeur est false, toutes les autres propriétés de l'étiquette n'ont aucun effet. La valeur par défaut est true.

Fonctions d'accès :

bool labelsVisible() const
void setLabelsVisible(bool newLabelsVisibility)

Signal du notificateur :

void labelsVisibleChanged()

multiHighlightColor : QColor

Cette propriété définit la couleur de mise en évidence des objets sélectionnés.

Elle est utilisée si selectionMode a le drapeau QtGraphs3D::SelectionFlag::Row ou QtGraphs3D::SelectionFlag::Column activé. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor multiHighlightColor() const
void setMultiHighlightColor(QColor newMultiHighlightColor)

Signal de notification :

void multiHighlightColorChanged(QColor color)

multiHighlightGradient : QQuickGradient*

Cette propriété contient le gradient de mise en évidence des objets sélectionnés.

Elle est utilisée si l'option QtGraphs3D::SelectionFlag::Row ou QtGraphs3D::SelectionFlag::Column est activée sur selectionMode. La valeur par défaut dépend de colorScheme.

Signal du notificateur :

void multiHighlightGradientQMLChanged()

plotAreaBackgroundColor : QColor

Cette propriété définit la couleur de l'arrière-plan de la zone de tracé du graphique. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor plotAreaBackgroundColor() const
void setPlotAreaBackgroundColor(QColor newBackgroundColor)

Signal de notification :

void plotAreaBackgroundColorChanged()

plotAreaBackgroundVisible : bool

Cette propriété indique si l'arrière-plan de la zone de tracé est visible.

L'arrière-plan est dessiné en utilisant la valeur de plotAreaBackgroundColor. La valeur par défaut est true.

Fonctions d'accès :

bool isPlotAreaBackgroundVisible() const
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)

Signal de notification :

void plotAreaBackgroundVisibleChanged()

seriesColors : QList<QColor>

Cette propriété contient la liste des couleurs de base à utiliser pour tous les objets du graphique, série par série.

S'il y a plus de séries que de couleurs, la liste des couleurs s'enroule et recommence avec la première couleur de la liste.

N'a pas d'effet immédiat si colorStyle n'est pas Uniform.

Cette valeur peut être remplacée en définissant explicitement baseColor dans la série.

Fonctions d'accès :

QList<QColor> seriesColors() const
void setSeriesColors(const QList<QColor> &newSeriesColors)

Signal de notification :

void seriesColorsChanged(const QList<QColor> &list)

singleHighlightColor : QColor

Cette propriété définit la couleur de surbrillance d'un objet sélectionné.

Elle est utilisée si l'indicateur QtGraphs3D::SelectionFlag::Item est activé sur selectionMode. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor singleHighlightColor() const
void setSingleHighlightColor(QColor newSingleHighlightColor)

Signal de notification :

void singleHighlightColorChanged(QColor color)

singleHighlightGradient : QQuickGradient*

Cette propriété contient le gradient de mise en évidence d'un objet sélectionné.

Elle est utilisée si l'indicateur QtGraphs3D::SelectionFlag::Item est activé sur selectionMode. La valeur par défaut dépend de colorScheme.

Signal du notificateur :

void singleHighlightGradientQMLChanged()

theme : QGraphsTheme::Theme

Le type du thème. Si aucun type n'est défini, le type est GraphsTheme.Theme.QtGreen. La modification du type de thème après la construction de l'élément aura pour effet de modifier toutes les autres propriétés du thème en fonction du thème prédéfini. La modification du type de thème du thème actif du graphique réinitialisera également toutes les séries attachées pour qu'elles utilisent le nouveau thème.

Fonctions d'accès :

QGraphsTheme::Theme theme() const
void setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No)

Signal de notification :

void themeChanged(QGraphsTheme::Theme theme)

[read-only] themeChildren : const QQmlListProperty<QObject>

La liste des objets enfants du thème. Il s'agit d'une propriété par défaut qui permet de spécifier des objets enfants dans l'élément Theme en QML sans utiliser explicitement le nom de la propriété children.

Documentation des fonctions membres

QList<QLinearGradient> QGraphsTheme::seriesGradients() const

Renvoie la liste des dégradés de séries utilisés par le thème.

Voir aussi setSeriesGradients().

void QGraphsTheme::setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)

Définit newSeriesGradients comme le dégradé de la série pour le thème.

Voir aussi seriesGradients().

© 2026 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.