Sur cette page

QPieSlice Class

La classe QPieSlice représente une part individuelle d'une série de diagrammes circulaires. En savoir plus...

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

Types publics

enum class LabelPosition { Outside, InsideHorizontal, InsideTangential, InsideNormal }

Propriétés

Fonctions publiques

QPieSlice(QObject *parent = nullptr)
QPieSlice(const QString &label, qreal value, QObject *parent = nullptr)
virtual ~QPieSlice() override
qreal angleSpan() const
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
QPieSlice *at(qsizetype index) const
QColor borderColor() const
qreal borderWidth() const
QColor color() const
qreal explodeDistanceFactor() const
QPieSlice *find(const QString &label) const
bool insert(qsizetype index, QPieSlice *slice)
bool isEmpty() const
bool isExploded() const
bool isLabelVisible() const
QString label() const
qreal labelArmLengthFactor() const
QColor labelColor() const
QFont labelFont() const
QPieSlice::LabelPosition labelPosition()
qreal percentage() const
bool remove(QPieSlice *slice)
bool remove(qsizetype index)
void removeMultiple(qsizetype index, int count)
bool replace(QPieSlice *oldSlice, QPieSlice *newSlice)
bool replace(qsizetype index, QPieSlice *slice)
bool replaceAll(const QList<QPieSlice *> &slices)
QPieSeries *series() const
void setBorderColor(QColor color)
void setBorderWidth(qreal borderWidth)
void setColor(QColor color)
void setExplodeDistanceFactor(qreal factor)
void setExploded(bool exploded)
void setLabel(const QString &label)
void setLabelArmLengthFactor(qreal factor)
void setLabelColor(QColor color)
void setLabelFont(const QFont &font)
void setLabelPosition(QPieSlice::LabelPosition position)
void setLabelVisible(bool visible = true)
void setSubSlicesRatio(qreal subSlicesRatio)
void setValue(qreal value)
QQmlListProperty<QPieSlice> sliceChildren()
qreal startAngle() const
QList<QPieSlice *> subSlices() const
qsizetype subSlicesCount() const
qreal subSlicesRatio() const
qreal subSlicesSum() const
bool take(QPieSlice *slice)
qreal value() const

Emplacements publics

void clear()

Signaux

void angleSpanChanged()
void borderColorChanged()
void borderWidthChanged()
void colorChanged()
void explodeDistanceFactorChanged()
void explodedChanged()
void labelArmLengthFactorChanged()
void labelChanged()
void labelColorChanged()
void labelFontChanged()
void labelPositionChanged()
void labelVisibleChanged()
void percentageChanged()
void startAngleChanged()
void subSlicesAdded(const QList<QPieSlice *> &slices)
void subSlicesCountChanged(qsizetype count)
void subSlicesRatioChanged(qreal newSubSlicesRatio)
void subSlicesRemoved(const QList<QPieSlice *> &slices)
void subSlicesSumChanged(qreal sum)
void valueChanged()

Description détaillée

Une part de camembert possède une valeur et une étiquette. Lorsque la part est ajoutée à une série de camemberts, l’objet QPieSeries calcule le pourcentage de la 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.

Par défaut, l’étiquette est masquée. Si elle est visible, elle peut soit être située à l’extérieur de la part et reliée à celle-ci par un bras, soit être centrée à l’intérieur de la part, soit horizontalement, soit parallèlement à la tangente ou à la normale de l’arc de la part.

Par défaut, l’apparence visuelle de la part est définie par un thème, mais celui-ci peut être remplacé en spécifiant les propriétés de la part. Toutefois, si le thème est modifié après la personnalisation des parts, toutes les personnalisations seront perdues.

Pour permettre l’interaction de l’utilisateur avec le graphique circulaire, certains signaux de base sont émis lorsque l’utilisateur clique sur des parts du graphique ou passe la souris dessus.

Une part de camembert peut contenir des sous-parts.

Voir également QPieSeries.

Documentation sur les types de membres

enum class QPieSlice::LabelPosition

Cette énumération décrit la position de l'étiquette de tranche.

ConstanteValeurDescription
QPieSlice::LabelPosition::Outside0L'étiquette est située à l'extérieur de la coupe à laquelle elle est reliée par un bras. Il s'agit de la valeur par défaut.
QPieSlice::LabelPosition::InsideHorizontal1L'étiquette est centrée à l'intérieur de la coupe et disposée horizontalement.
QPieSlice::LabelPosition::InsideTangential2L'étiquette est centrée à l'intérieur de la tranche et pivotée de manière à être parallèle à la tangente de l'arc de la tranche.
QPieSlice::LabelPosition::InsideNormal3L'étiquette est centrée à l'intérieur de la coupe et pivotée de manière à être parallèle à la normale de l'arc de la coupe.

Documentation sur les propriétés

[read-only] angleSpan : qreal

Cette propriété indique l'angle de la part en degrés. Un cercle complet correspond à 360 degrés, 0 degré correspondant à la position « 12 heures ». Elle est mise à jour automatiquement dès que la part est ajoutée à la série.

Fonctions d'accès :

qreal angleSpan() const

Signal de notification :

void angleSpanChanged()

borderColor : QColor

Cette propriété contient la couleur utilisée pour tracer le contour de la tranche. Il s'agit d'une propriété pratique permettant de modifier la tranche.

Fonctions d'accès :

QColor borderColor() const
void setBorderColor(QColor color)

Signal de notification :

void borderColorChanged()

Voir aussi borderWidth.

borderWidth : qreal

Cette propriété définit la largeur de la bordure de la tranche. Il s'agit d'une propriété pratique permettant de modifier la largeur de la bordure de la tranche.

Fonctions d'accès :

qreal borderWidth() const
void setBorderWidth(qreal borderWidth)

Signal de notification :

void borderWidthChanged()

Voir aussi borderColor.

color : QColor

Cette propriété définit la couleur de remplissage de la tranche. Il s'agit d'une propriété pratique permettant de modifier la couleur de remplissage de la tranche.

Fonctions d'accès :

QColor color() const
void setColor(QColor color)

Signal de notification :

void colorChanged()

explodeDistanceFactor : qreal

Détermine à quelle distance de la tarte la part est projetée.

  • 1,0 signifie que la distance est égale au rayon.
  • 0,5 signifie que la distance correspond à la moitié du rayon.

Par défaut, la distance est de 0,15

Fonctions d'accès :

qreal explodeDistanceFactor() const
void setExplodeDistanceFactor(qreal factor)

Signal de notification :

void explodeDistanceFactorChanged()

Voir également exploded.

exploded : bool

Cette propriété indique si la part est séparée de la tarte.

Fonctions d'accès :

bool isExploded() const
void setExploded(bool exploded)

Signal de notification :

void explodedChanged()

Voir aussi explodeDistanceFactor.

label : QString

Cette propriété contient le libellé de la tranche.

Remarque : la chaîne peut être au format HTML.

Fonctions d'accès :

QString label() const
void setLabel(const QString &label)

Signal de notification :

void labelChanged()

Voir également labelVisible, labelFont et labelArmLengthFactor.

labelArmLengthFactor : qreal

Cette propriété indique la longueur du bras de l'étiquette. Cette valeur est exprimée par rapport au rayon du graphique circulaire. Par exemple :

  • 1,0 signifie que la longueur est égale au rayon.
  • 0,5 signifie que la longueur est égale à la moitié du rayon.

Par défaut, la longueur du segment est de 0,15

Fonctions d'accès :

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

Signal de notification :

void labelArmLengthFactorChanged()

Voir également label, labelVisible et labelFont.

labelColor : QColor

Cette propriété définit la couleur utilisée pour afficher le libellé de la tranche.

Fonctions d'accès :

QColor labelColor() const
void setLabelColor(QColor color)

Signal de notification :

void labelColorChanged()

labelFont : QFont

Cette propriété contient la police utilisée pour l'affichage du texte de l'étiquette.

Fonctions d'accès :

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

Signal de notification :

void labelFontChanged()

Voir également label, labelVisible et labelArmLengthFactor.

labelPosition : LabelPosition

Cette propriété définit la position de l'étiquette de tranche.

Fonctions d'accès :

QPieSlice::LabelPosition labelPosition()
void setLabelPosition(QPieSlice::LabelPosition position)

Signal de notification :

void labelPositionChanged()

Voir également label et labelVisible.

labelVisible : bool

Cette propriété définit la visibilité de l'étiquette de la tranche. Par défaut, l'étiquette n'est pas visible.

Fonctions d'accès :

bool isLabelVisible() const
void setLabelVisible(bool visible = true)

Signal de notification :

void labelVisibleChanged()

Voir également label, labelFont et labelArmLengthFactor.

[read-only] percentage : qreal

Cette propriété indique le pourcentage que représente la tranche par rapport à la somme de toutes les tranches de la série. La valeur réelle est comprise entre 0,0 et 1,0. Elle est mise à jour automatiquement dès que la tranche est ajoutée à la série.

Fonctions d'accès :

qreal percentage() const

Signal de notification :

void percentageChanged()

Voir également value et QPieSeries::sum.

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

Liste des sous-slices contenues dans cette slice. Il s'agit d'une propriété par défaut qui permet de spécifier des sous-slices au sein d'un élément « slice » en QML sans avoir à utiliser explicitement le nom de la propriété « children ».

Fonctions d'accès :

QQmlListProperty<QPieSlice> sliceChildren()

[read-only] startAngle : qreal

Cette propriété contient l'angle de départ de cette part dans la série à laquelle elle appartient. Un cercle complet correspond à 360 degrés, 0 degré correspondant à la position « 12 heures ». Elle est mise à jour automatiquement dès que la part est ajoutée à la série.

Fonctions d’accès :

qreal startAngle() const

Signal de notification :

void startAngleChanged()

[read-only] subSlicesCount : qsizetype

Cette propriété indique le nombre de sous-tranches contenues dans la tranche.

Fonctions d'accès :

qsizetype subSlicesCount() const

Signal de notification :

void subSlicesCountChanged(qsizetype count)

subSlicesRatio : qreal

Taille relative des sous-tranches par rapport à la tranche parente. La valeur est comprise entre 0,0 et 1,0, où 1,0 signifie que les sous-tranches occupent le même espace que la tranche parente sans sous-tranches. La valeur par défaut est 0,6.

Fonctions d'accès :

qreal subSlicesRatio() const
void setSubSlicesRatio(qreal subSlicesRatio)

Signal de notification :

void subSlicesRatioChanged(qreal newSubSlicesRatio)

[read-only] subSlicesSum : qreal

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

La tranche garde la trace de la somme de toutes les sous-tranches qu'elle contient.

Fonctions d'accès :

qreal subSlicesSum() const

Signal de notification :

void subSlicesSumChanged(qreal sum)

value : qreal

Cette propriété contient la valeur de la tranche.

Remarque : une valeur négative est convertie en valeur positive.

Fonctions d'accès :

qreal value() const
void setValue(qreal value)

Signal de notification :

void valueChanged()

Voir également percentage() et QPieSeries::sum().

Documentation des fonctions membres

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

Crée une tranche vide à partir de l'parent parent.

Voir également QPieSeries::append() et QPieSeries::insert().

QPieSlice::QPieSlice(const QString &label, qreal value, QObject *parent = nullptr)

Crée une tranche vide avec les valeurs spécifiées pour value, label et parent.

Voir également QPieSeries::append() et QPieSeries::insert().

[override virtual noexcept] QPieSlice::~QPieSlice()

Supprime la tranche. La tranche ne doit pas être supprimée si elle a été ajoutée à une série.

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

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

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 QPieSlice::append(const QList<QPieSlice *> &slices)

Ajoute à la tranche le tableau de sous-tranches spécifié par slices. La propriété des sous-tranches est transférée à la tranche.

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] QPieSlice *QPieSlice::append(const QString &label, qreal value)

Ajoute à la tranche une seule sous-tranche dont les paramètres « value » et « label » sont spécifiés. La propriété de la sous-tranche est transférée à la tranche. 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 *QPieSlice::at(qsizetype index) const

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.

[slot] void QPieSlice::clear()

Supprime toutes les sous-tranches de la tranche.

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

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 QPieSlice::insert(qsizetype index, QPieSlice *slice)

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

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 QPieSlice::isEmpty() const

Renvoie « true » si la liste des sous-tranches est vide.

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

Supprime une seule sous-tranche, spécifiée par ` slice`, de la tranche 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 invoquée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

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

Supprime l'PieSlice situé à l'adresse index. L'PieSlice sera définitivement supprimé. Renvoie true si la suppression 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] void QPieSlice::removeMultiple(qsizetype index, int count)

Supprime plusieurs segments de camembert (PieSlices) de la part de camembert commençant à index jusqu’à un nombre défini de count. Les segments de camembert seront supprimés définitivement.

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

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

Remplace l'PieSlice e oldSlice par newSlice s'il est présent dans la tranche. 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 QPieSlice::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.

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

Remplace l'intégralité de la liste des PieSlices de la part 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.

QPieSeries *QPieSlice::series() const

Renvoie la série à laquelle appartient cette tranche.

Voir aussi QPieSeries::append().

QList<QPieSlice *> QPieSlice::subSlices() const

Renvoie une liste des sous-tranches appartenant à cette tranche.

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

Ce signal est émis lorsque les sous-tranches spécifiées par slices sont ajoutées à la tranche.

Voir également append().

qsizetype QPieSlice::subSlicesCount() const

Renvoie le nombre de sous-tranches contenues dans cette tranche.

Remarque : fonctiongetter pour la propriété subSlicesCount.

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

Ce signal est émis lorsque les sous-coupes spécifiées par slices sont supprimées de la coupe.

Voir également remove().

qreal QPieSlice::subSlicesSum() const

Renvoie la somme de toutes les valeurs des sous-tranches de cette tranche.

Remarque : fonctionde lecture pour la propriété subSlicesSum.

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

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

Extrait une seule sous-tranche de la série, spécifiée par slice. Ne supprime pas l'objet « tranche ».

Remarque : la tranche 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.

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