Sur cette page

QGraphsTheme Class

La classe `QGraphsTheme` permet de définir un style visuel pour les graphiques. En savoir plus...

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 de :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 s'appliquent à l'ensemble du graphique. Plusieurs thèmes intégrés peuvent être utilisés tels quels ou modifiés librement.

Les thèmes peuvent être créés à partir de zéro à l'aide de la valeur d'énumération ` UserDefined `. La création d'un thème à l'aide du constructeur par défaut génère 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 ainsi que 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 extraits de code 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 l'application du thème à un graphe :

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);

Documentation sur les types de membres

enum class QGraphsTheme::ColorScheme

Représente la palette de couleurs du graphique.

ConstanteValeurDescription
QGraphsTheme::ColorScheme::Automatic0Les couleurs d'arrière-plan suivent la palette de couleurs de la plateforme si celle-ci est disponible. Si ce n'est pas le cas, l'apparence « Clair » 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.

ConstantValeurDescription
QGraphsTheme::ColorStyle::Uniform0Les objets sont affichés 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 la hauteur de celui-ci. Le dégradé utilisé est spécifié dans les propriétés seriesGradients, singleHighlightGradient et multiHighlightGradient.
QGraphsTheme::ColorStyle::RangeGradient2Les objets sont colorés à l'aide d'une partie du dégradé complet, déterminée 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 seriesGradients, singleHighlightGradient et multiHighlightGradient.

enum class QGraphsTheme::Theme

Thèmes intégrés.

ConstanteValeurDescription
QGraphsTheme::Theme::QtGreen0Un thème clair avec le vert comme couleur de base.
QGraphsTheme::Theme::QtGreenNeon1Un thème clair avec le vert néon comme couleur de base.
QGraphsTheme::Theme::MixSeries2Un thème varié avec différentes couleurs.
QGraphsTheme::Theme::OrangeSeries3Un thè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, consultez Customizing Theme.

Documentation sur les propriétés

axisX : QGraphsLine

Propriétés de mise en forme de la ligne et des libellés de l'axe X du 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 de l'axe des x.

Fonctions d'accès :

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

Signal de notification :

void axisXLabelFontChanged()

axisY : QGraphsLine

Propriétés de mise en forme de la ligne et de l'étiquette de l'axe des Y du 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 de l'axe des y.

Fonctions d’accès :

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

Signal de notification :

void axisYLabelFontChanged()

axisZ : QGraphsLine

Propriétés de style de la ligne et des étiquettes 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 libellés 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 tracé. La valeur par défaut dépend de colorScheme.

Fonctions d'accès :

QColor backgroundColor() const
void setBackgroundColor(QColor newBackgroundColor)

Signal de notification :

void backgroundColorChanged()

backgroundVisible : bool

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

L'arrière-plan est dessiné à l'aide de 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>

Liste des couleurs de base à utiliser pour la série lorsque l'on utilise le style de couleurs « ColorStyle::Uniform ».

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

Liste des dégradés de base à utiliser pour la série lorsque l'on utilise le 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 revient au début et recommence par la première couleur de la liste.

N'a aucun effet immédiat si la propriété « colorStyle » n'est pas définie sur «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

La palette de couleurs du graphique utilisé.

Fonctions d'accès :

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

Signal de notification :

void colorSchemeChanged()

Voir également Qt::ColorScheme.

colorStyle : QGraphsTheme::ColorStyle

Le style des couleurs du graphique. L'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 aucun effet dans « Qt Graphs » pour le 2D.

Fonctions d'accès :

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

Signal de notification :

void colorStyleChanged(QGraphsTheme::ColorStyle type)

Voir également QGraphsTheme::ColorStyle.

grid : QGraphsLine

Propriétés de mise en forme des lignes de la grille du graphique.

Fonctions d'accès :

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

Signal de notification :

void gridChanged()

gridVisible : bool

Cette propriété détermine si les lignes de la grille sont affichées.

Cette valeur s'applique à 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 d'arrière-plan des étiquettes.

N'a aucun effet si « labelBackgroundVisible » est défini sur « false ». La valeur par défaut dépend de « colorScheme ».

Fonctions d'accès :

QColor labelBackgroundColor() const
void setLabelBackgroundColor(QColor newLabelBackgroundColor)

Signal de notification :

void labelBackgroundColorChanged()

labelBackgroundVisible : bool

Cette propriété s'applique que l'étiquette soit dessinée sur un fond coloré ou sur un fond entièrement transparent.

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

Les étiquettes avec arrière-plan sont dessinées à des tailles identiques pour chaque axe, en fonction de l’étiquette la plus longue, et le texte y est centré. 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é détermine si les bordures des étiquettes sont affichées lorsque celles-ci possèdent un arrière-plan.

N'a aucun effet si « labelBackgroundVisible » est défini sur « 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 à utiliser pour les étiquettes.

Fonctions d'accès :

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

Signal de notification :

void labelFontChanged()

labelTextColor : QColor

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

Si un axe a explicitement spécifié la propriété « labelTextColor », celle-ci n'a aucun effet.

La valeur par défaut dépend de l'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 affichées ou non.

Si cette propriété est définie sur « false », toutes les autres propriétés des étiquettes n'ont aucun effet. La valeur par défaut est « true ».

Fonctions d'accès :

bool labelsVisible() const
void setLabelsVisible(bool newLabelsVisibility)

Signal de notification :

void labelsVisibleChanged()

multiHighlightColor : QColor

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

Utilisée si l'selectionMode est associée à l'indicateur « QtGraphs3D::SelectionFlag::Row » ou « QtGraphs3D::SelectionFlag::Column ». La valeur par défaut dépend de l'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 dégradé de surbrillance des objets sélectionnés.

Utilisée si la propriété « selectionMode » comporte le drapeau « QtGraphs3D::SelectionFlag::Row » ou « QtGraphs3D::SelectionFlag::Column ». La valeur par défaut dépend de la propriété « colorScheme ».

Signal de notification :

void multiHighlightGradientQMLChanged()

plotAreaBackgroundColor : QColor

Cette propriété définit la couleur d'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é détermine si l'arrière-plan de la zone de tracé est visible.

L'arrière-plan est dessiné à l'aide de 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 se répète et recommence par la première couleur de la liste.

N'a aucun effet immédiat si la propriété ` colorStyle ` n'est pas définie sur `Uniform`.

Cette valeur peut être remplacée en définissant explicitement l'baseColor e 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é contient la couleur de mise en évidence d'un objet sélectionné.

Utilisée si l'option « selectionMode » est activée ( QtGraphs3D::SelectionFlag::Item ). La valeur par défaut dépend de l'option « 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 dégradé de surbrillance d'un objet sélectionné.

Utilisée si l'option « selectionMode » est activée ( QtGraphs3D::SelectionFlag::Item ). La valeur par défaut dépend de colorScheme.

Signal de notification :

void singleHighlightGradientQMLChanged()

theme : QGraphsTheme::Theme

Le type du thème. Si aucun type n'est défini, le type par défaut est « GraphsTheme.Theme.QtGreen ». La modification du type de thème après la création de l'élément entraînera la mise à jour de toutes les autres propriétés du thème selon les spécifications 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 associées afin 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>

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 au sein de l'élément Theme en QML sans avoir à 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 gradients de la série pour le thème.

Voir également 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.