Sur cette page

QPieSeries Class

La classe QPieSeries permet de présenter des données sous forme de graphiques circulaires. En savoir plus...

En-tête : #include <QPieSeries>
CMake : find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
En QML : PieSeries
Hérite de : QAbstractSeries

Types publics

(since 6.10) enum class LabelVisibility { None, First, Even, Odd }

Propriétés

Fonctions publiques

QPieSeries(QObject *parent = nullptr)
QPieSeries::LabelVisibility angleSpanLabelVisibility() const
qreal angleSpanVisibleLimit() const
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
QPieSlice *at(qsizetype index)
void clear()
qsizetype count() const
qreal endAngle() const
QPieSlice *find(const QString &label)
qreal holeSize() const
qreal horizontalPosition() const
bool insert(qsizetype index, QPieSlice *slice)
bool isEmpty() const
qreal pieSize() const
bool remove(QPieSlice *slice)
bool remove(qsizetype index)
void removeMultiple(qsizetype index, int count)
bool replace(const QList<QPieSlice *> &slices)
bool replace(QPieSlice *oldSlice, QPieSlice *newSlice)
bool replace(qsizetype index, QPieSlice *slice)
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)
void setEndAngle(qreal angle)
void setHoleSize(qreal holeSize)
void setHorizontalPosition(qreal relativePosition)
void setLabelsPosition(QPieSlice::LabelPosition position)
void setLabelsVisible(bool visible)
void setPieSize(qreal relativeSize)
void setSliceData(const QList<qreal> &newSliceData)
void setSliceLabels(QStringList newLabels)
void setStartAngle(qreal angle)
void setVerticalPosition(qreal relativePosition)
QList<qreal> sliceData() const
const QStringList &sliceLabels() const &
QStringList sliceLabels() &&
QList<QPieSlice *> slices() const
qreal startAngle() const
qreal sum() const
bool take(QPieSlice *slice)
qreal verticalPosition() const
QPieSeries &operator<<(QPieSlice *slice)

Fonctions publiques réimplémentées

virtual QAbstractSeries::SeriesType type() const override

Signaux

void added(const QList<QPieSlice *> &slices)
void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)
void angleSpanVisibleLimitChanged(qreal limit)
void countChanged()
void endAngleChanged()
void holeSizeChanged()
void horizontalPositionChanged()
void pieSizeChanged()
void removed(const QList<QPieSlice *> &slices)
void sliceDataChanged(const QList<qreal> &sliceData)
void sliceLabelsChanged(const QStringList &sliceLabels)
void startAngleChanged()
void sumChanged()
void verticalPositionChanged()

Description détaillée

Une série de diagrammes circulaires est constituée de parts définies comme des objets ` QPieSlice `. Les parts peuvent prendre n'importe quelle valeur, car l'objet `QPieSeries` calcule le pourcentage d'une part par rapport à la somme de toutes les parts de la série afin de déterminer la taille réelle de la part dans le graphique.

La taille et la position du graphique circulaire sur le graphique sont contrôlées à l’aide de valeurs relatives comprises entre 0,0 et 1,0. Celles-ci se rapportent au rectangle réel du graphique.

Par défaut, le graphique circulaire est défini comme un graphique complet. Il est possible de créer un graphique partiel en définissant un angle de départ et une plage d’angles pour la série. Un graphique complet correspond à 360 degrés, 0 correspondant à la position « 12 heures ».

Voir également QPieSlice.

Documentation sur les types de membres

[since 6.10] enum class QPieSeries::LabelVisibility

Mode de visibilité des étiquettes.

ConstanteValeurDescription
QPieSeries::LabelVisibility::None0Toutes les étiquettes des tranches dont l'angle de couverture est inférieur à l'angleSpanVisibleLimit e seront masquées.
QPieSeries::LabelVisibility::First1Toutes les étiquettes, à l’exception de la première, des tranches consécutives dont l’angle de balayage est inférieur à l’ angleSpanVisibleLimit, seront masquées. Il s’agit de la valeur par défaut.
QPieSeries::LabelVisibility::Even2Une étiquette sur deux des tranches consécutives dont l’étendue angulaire est inférieure à l’ angleSpanVisibleLimit sera masquée, à partir de la deuxième.
QPieSeries::LabelVisibility::Odd3Une étiquette sur deux des tranches consécutives dont l'étendue angulaire est inférieure à l'angleSpanVisibleLimit sera masquée, à partir de la première.

Cette énumération a été introduite dans Qt 6.10.

Voir également « QPieSeries::angleSpanVisibleLimit ».

Documentation de la propriété

[since 6.10] angleSpanLabelVisibility : LabelVisibility

Cette propriété définit le mode de visibilité des étiquettes.

Ce mode détermine quelles étiquettes seront masquées si elles se trouvent en dessous de la limite d'angle définie par l'angleSpanVisibleLimit. Il n'a aucun effet si l'angleSpanVisibleLimit n'a pas été définie.

Cette énumération a été introduite dans Qt 6.10.

Fonctions d’accès :

QPieSeries::LabelVisibility angleSpanLabelVisibility() const
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)

Signal de notification :

void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)

Voir également QPieSeries::angleSpanVisibleLimit.

[since 6.10] angleSpanVisibleLimit : qreal

Cette propriété définit la limite d'angle pour la visibilité d'une étiquette de tranche.

L'intervalle angulaire qui servira de limite de visibilité pour une étiquette de tranche. Une tranche dont l'intervalle angulaire est inférieur à cette valeur verra sa visibilité varier en fonction de la propriété « angleSpanLabelVisibility » définie pour la série. La valeur par défaut est « 0 », ce qui signifie qu'aucune tranche ne sera masquée, quelle que soit la valeur de la propriété « angleSpanLabelVisibility ».

Cette énumération a été introduite dans Qt 6.10.

Fonctions d’accès :

qreal angleSpanVisibleLimit() const
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)

Signal de notification :

void angleSpanVisibleLimitChanged(qreal limit)

Voir également QPieSeries::angleSpanLabelVisibility.

[read-only] count : qsizetype

Cette propriété indique le nombre de tranches de la série.

Fonctions d'accès :

qsizetype count() const

Signal de notification :

void countChanged()

endAngle : qreal

Cette propriété contient l'angle de fin du secteur.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à 12 heures.

La valeur par défaut est 360.

Fonctions d'accès :

qreal endAngle() const
void setEndAngle(qreal angle)

Signal de notification :

void endAngleChanged()

holeSize : qreal

Cette propriété définit la taille du trou du beignet.

Lors de la définition de la propriété « pieSize », cette propriété est ajustée si nécessaire, afin de garantir que la taille du trou ne soit pas supérieure à celle de la tarte.

La valeur par défaut est 0,0.

Fonctions d'accès :

qreal holeSize() const
void setHoleSize(qreal holeSize)

Signal de notification :

void holeSizeChanged()

horizontalPosition : qreal

Cette propriété définit la position horizontale du graphique circulaire.

La valeur est relative au rectangle du graphique, de sorte que :

  • 0,0 correspond à l'extrême gauche.
  • 1,0 correspond à l'extrême droite.

La valeur par défaut est 0,5 (au centre).

Fonctions d'accès :

qreal horizontalPosition() const
void setHorizontalPosition(qreal relativePosition)

Signal de notification :

void horizontalPositionChanged()

Voir aussi verticalPosition.

pieSize : qreal

Cette propriété détermine la taille de la part de camembert.

La valeur est relative au rectangle du graphique, de sorte que :

  • 0,0 correspond à la taille minimale du graphique circulaire (graphique non affiché).
  • 1,0 correspond à la taille maximale du diagramme circulaire pouvant s'afficher dans le graphique.

Lors de la définition de cette propriété, la propriété « holeSize » est ajustée si nécessaire, afin de garantir que la taille du trou ne soit pas supérieure à celle du diagramme circulaire.

La valeur par défaut est 0,7.

Fonctions d’accès :

qreal pieSize() const
void setPieSize(qreal relativeSize)

Signal de notification :

void pieSizeChanged()

[since 6.12] sliceData : QList<qreal>

Valeurs de parts déclaratives.

Définissez cette propriété pour créer des parts de camembert de manière déclarative. La série crée automatiquement une part par valeur. Les libellés peuvent être fournis via sliceLabels.

Remarque : le mélange de saisie de données déclarative et impérative n'est pas pris en charge.

Cette énumération a été introduite dans Qt 6.12.

Fonctions d’accès :

QList<qreal> sliceData() const
void setSliceData(const QList<qreal> &newSliceData)

Signal de notification :

void sliceDataChanged(const QList<qreal> &sliceData)

Voir aussi sliceLabels.

[since 6.12] sliceLabels : QStringList

Étiquettes de tranches déclaratives.

Fournit des étiquettes pour les tranches créées via sliceData. Les étiquettes doivent suivre le même ordre que les valeurs. Les étiquettes supplémentaires, au-delà du nombre de tranches, sont ignorées.

Remarque : le mélange d’entrées de données déclaratives et impératives n’est pas pris en charge.

Cette énumération a été introduite dans Qt 6.12.

Fonctions d'accès :

const QStringList &sliceLabels() const &
QStringList sliceLabels() &&
void setSliceLabels(QStringList newLabels)

Signal de notification :

void sliceLabelsChanged(const QStringList &sliceLabels)

Voir également sliceData.

startAngle : qreal

Cette propriété indique l'angle de départ du secteur.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à la position 12 heures.

La valeur par défaut est 0.

Fonctions d'accès :

qreal startAngle() const
void setStartAngle(qreal angle)

Signal de notification :

void startAngleChanged()

[read-only] sum : qreal

Cette propriété contient la somme de toutes les tranches.

La série garde la trace de la somme de toutes les tranches qu'elle contient.

Fonctions d'accès :

qreal sum() const

Signal de notification :

void sumChanged()

verticalPosition : qreal

Cette propriété définit la position verticale du graphique circulaire.

La valeur est relative au rectangle du graphique, de sorte que :

  • 0,0 correspond au sommet absolu.
  • 1,0 correspond au bas absolu.

La valeur par défaut est 0,5 (au centre).

Fonctions d’accès :

qreal verticalPosition() const
void setVerticalPosition(qreal relativePosition)

Signal de notification :

void verticalPositionChanged()

Voir également horizontalPosition.

Documentation des fonctions membres

[explicit] QPieSeries::QPieSeries(QObject *parent = nullptr)

Crée un objet de série qui est un enfant de parent.

[signal] void QPieSeries::added(const QList<QPieSlice *> &slices)

Ce signal est émis lorsque les tranches spécifiées par slices sont ajoutées à la série.

Voir également append().

[invokable] bool QPieSeries::append(QPieSlice *slice)

Ajoute à la série la tranche spécifiée par slice. La propriété de la tranche est transférée à la série.

Renvoie true si l'ajout réussit.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QPieSeries::append(const QList<QPieSlice *> &slices)

Ajoute à la série le tableau de tranches spécifié par ` slices `. La propriété des tranches est transférée à la série.

Renvoie true si l’ajout aboutit.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] QPieSlice *QPieSeries::append(const QString &label, qreal value)

Ajoute à la série une seule tranche dont les paramètres « value » et « label » sont spécifiés. La propriété de la tranche est transférée à la série. Renvoie null si « value » est « NaN », « Inf » ou « -Inf » et n’ajoute rien à la série.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] QPieSlice *QPieSeries::at(qsizetype index)

Renvoie l'PieSlice à la position index. Renvoie null si aucun PieSlice n'a été trouvé.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] void QPieSeries::clear()

Supprime toutes les tranches de la série.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

qsizetype QPieSeries::count() const

Renvoie le nombre de tranches de cette série.

Remarque : fonctiongetter pour la propriété count.

qreal QPieSeries::endAngle() const

Renvoie l'angle final du secteur.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à 12 heures.

Remarque : fonction de lecture (getter ) pour la propriété endAngle.

Voir également setEndAngle(), startAngle() et setStartAngle().

[invokable] QPieSlice *QPieSeries::find(const QString &label)

Recherche un objet « PieSlice » contenant l'étiquette « label ». Renvoie l'objet « PieSlice » s'il est trouvé, sinon renvoie null.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QPieSeries::insert(qsizetype index, QPieSlice *slice)

Insère la tranche spécifiée par slice dans la série, avant la tranche située à la position indiquée par index. La propriété de la tranche est transférée à la série.

Renvoie true si l’insertion réussit.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

bool QPieSeries::isEmpty() const

Renvoie « true » si la série est vide.

[invokable] bool QPieSeries::remove(QPieSlice *slice)

Supprime une seule tranche, spécifiée par ` slice`, de la série et la supprime définitivement.

Le pointeur ne peut plus être référencé après cet appel.

Renvoie true si la suppression aboutit.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QPieSeries::remove(qsizetype index)

Supprime l'PieSlice situé à l'adresse index. L'PieSlice sera définitivement supprimé. Renvoie true si la suppression a abouti.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] void QPieSeries::removeMultiple(qsizetype index, int count)

Supprime plusieurs segments de camembert de la série, en commençant à l'index et jusqu'au nombre count. Les segments de camembert seront définitivement supprimés.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[signal] void QPieSeries::removed(const QList<QPieSlice *> &slices)

Ce signal est émis lorsque les tranches spécifiées par slices sont supprimées de la série.

Voir également remove().

[invokable] bool QPieSeries::replace(const QList<QPieSlice *> &slices)

Remplace l'intégralité de la liste des PieSlices de la série par la liste spécifiée par slices. Toutes les PieSlices d'origine seront définitivement supprimées. Renvoie true si toutes les PieSlices ont été remplacées avec succès.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QPieSeries::replace(QPieSlice *oldSlice, QPieSlice *newSlice)

Remplace l'PieSlice oldSlice par newSlice s'il est présent dans la série.oldSlice sera définitivement supprimé. Renvoie true si le remplacement a réussi.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QPieSeries::replace(qsizetype index, QPieSlice *slice)

Remplace l'élément « PieSlice » situé à la position index par celui spécifié par slice. L'élément d'origine PieSlice sera définitivement supprimé. Renvoie false si le remplacement d'un des éléments « PieSlices » échoue.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

void QPieSeries::setEndAngle(qreal angle)

Définit l'angle de fin du secteur.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à 12 heures.

angle Doit être supérieur à l'angle de départ.

Remarque : fonctionde définition de la propriété endAngle.

Voir également endAngle(), startAngle() et setStartAngle().

void QPieSeries::setLabelsPosition(QPieSlice::LabelPosition position)

Définit la position de toutes les étiquettes de parts sur « position ».

Remarque : cette fonction n'affecte que les tranches actuelles de la série. Si une nouvelle tranche est ajoutée, la position par défaut de l'étiquette est QPieSlice::LabelOutside.

Voir également QPieSlice::labelPosition() et QPieSlice::setLabelPosition().

void QPieSeries::setLabelsVisible(bool visible)

Définit la visibilité de toutes les étiquettes de tranches sur « visible ».

Remarque : cette fonction n'affecte que les tranches actuelles de la série. Si une nouvelle tranche est ajoutée, la visibilité par défaut des étiquettes est « false ».

Voir également ` QPieSlice::isLabelVisible()` et ` QPieSlice::setLabelVisible()`.

void QPieSeries::setStartAngle(qreal angle)

Définit l'angle de départ du graphique circulaire.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à 12 heures.

angle Il doit être inférieur à l'angle de fin.

Remarque : fonctionde définition de la propriété startAngle.

Voir également startAngle(), endAngle() et setEndAngle().

QList<QPieSlice *> QPieSeries::slices() const

Renvoie une liste des tranches appartenant à cette série.

qreal QPieSeries::startAngle() const

Renvoie l'angle de départ du secteur.

Un cercle complet correspond à 360 degrés, 0 degré correspondant à 12 heures.

Remarque : fonction de lecture (getter ) pour la propriété startAngle.

Voir également setStartAngle(), endAngle() et setEndAngle().

qreal QPieSeries::sum() const

Renvoie la somme de toutes les valeurs des tranches de cette série.

Remarque : fonction de lecture (getter ) pour la propriété sum.

Voir également QPieSlice::value(), QPieSlice::setValue() et QPieSlice::percentage().

[invokable] bool QPieSeries::take(QPieSlice *slice)

Récupère une seule tranche, spécifiée par slice, à partir de la série. Ne supprime pas l'objet « tranche ».

Remarque : la série reste l'objet parent de la tranche. Vous devez définir l'objet parent pour en prendre la pleine propriété.

Renvoie true si l'opération de prélèvement a réussi.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[override virtual] QAbstractSeries::SeriesType QPieSeries::type() const

Réimplémente une fonction d'accès pour la propriété : QAbstractSeries::type.

Renvoie le type de la série.

QPieSeries &QPieSeries::operator<<(QPieSlice *slice)

Ajoute la tranche spécifiée par ` slice ` à la série et renvoie une référence à celle-ci. La propriété de la tranche est transférée à la série.

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