Sur cette page

QPieSlice Class

La classe QPieSlice représente une seule tranche d'une série de tartes. Plus d'informations...

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éritages : 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 tarte a 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 cachée. Si elle est visible, elle peut être soit située à l'extérieur de la tranche et reliée à celle-ci par un bras, soit centrée à l'intérieur de la tranche, soit horizontalement, soit parallèlement à la tangentielle ou à la normale de l'arc de la tranche.

Par défaut, l'apparence visuelle de la tranche est définie par un thème, mais ce thème peut être remplacé en spécifiant les propriétés de la tranche. Toutefois, si le thème est modifié après que les tranches ont été personnalisées, toutes les personnalisations seront perdues.

Pour permettre à l'utilisateur d'interagir avec le graphique à secteurs, certains signaux de base sont émis lorsque l'utilisateur clique sur les secteurs ou passe la souris au-dessus d'eux.

Un camembert peut contenir des sous-tranches.

Voir également QPieSeries.

Documentation sur les types de membres

enum class QPieSlice::LabelPosition

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

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

Documentation sur les propriétés

[read-only] angleSpan : qreal

Cette propriété indique l'étendue de la tranche en degrés. Une tarte complète représente 360 degrés, où 0 degré correspond à 12 heures. Cette propriété est mise à jour automatiquement lorsque la tranche est ajoutée à la série.

Fonctions d'accès :

qreal angleSpan() const

Signal Notifier :

void angleSpanChanged()

borderColor : QColor

Cette propriété définit la couleur utilisée pour dessiner la bordure de la tranche. Il s'agit d'une propriété de commodité permettant de modifier la tranche.

Fonctions d'accès :

QColor borderColor() const
void setBorderColor(QColor color)

Signal Notificateur :

void borderColorChanged()

Voir aussi borderWidth.

borderWidth : qreal

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

Fonctions d'accès :

qreal borderWidth() const
void setBorderWidth(qreal borderWidth)

Signal du notificateur :

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é de commodité permettant de modifier la couleur de remplissage de la tranche.

Fonctions d'accès :

QColor color() const
void setColor(QColor color)

Signal du notificateur :

void colorChanged()

explodeDistanceFactor : qreal

Détermine à quelle distance de la tarte la tranche est éclatée.

  • 1,0 signifie que la distance est égale au rayon.
  • 0,5 signifie que la distance est égale à 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 aussi exploded.

exploded : bool

Cette propriété indique si la tranche 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 l'étiquette de la tranche.

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

Fonctions d'accès :

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

Signal du notificateur :

void labelChanged()

Voir aussi labelVisible, labelFont, et labelArmLengthFactor.

labelArmLengthFactor : qreal

Cette propriété définit la longueur du bras de l'étiquette. Le facteur est relatif au rayon de la tarte. 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 bras est de 0,15.

Fonctions d'accès :

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

Signal de notification :

void labelArmLengthFactorChanged()

Voir aussi label, labelVisible, et labelFont.

labelColor : QColor

Cette propriété définit la couleur utilisée pour dessiner l'étiquette de la tranche.

Fonctions d'accès :

QColor labelColor() const
void setLabelColor(QColor color)

Signal du notificateur :

void labelColorChanged()

labelFont : QFont

Cette propriété définit la police utilisée pour dessiner le texte de l'étiquette.

Fonctions d'accès :

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

Signal Notificateur :

void labelFontChanged()

Voir aussi label, labelVisible, et labelArmLengthFactor.

labelPosition : LabelPosition

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

Fonctions d'accès :

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

Signal du notificateur :

void labelPositionChanged()

Voir aussi 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 du notificateur :

void labelVisibleChanged()

Voir aussi label, labelFont, et labelArmLengthFactor.

[read-only] percentage : qreal

Cette propriété indique le pourcentage de 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 lorsque la tranche est ajoutée à la série.

Fonctions d'accès :

qreal percentage() const

Signal de notification :

void percentageChanged()

Voir aussi value et QPieSeries::sum.

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

La liste des sous-tranches contenues dans cette tranche. Il s'agit d'une propriété par défaut qui permet de spécifier des sous-tranches à l'intérieur d'un élément de tranche en QML sans 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 tranche dans la série à laquelle elle appartient. Une tarte complète fait 360 degrés, où 0 degré est à 12 heures. Cette propriété est mise à jour automatiquement lorsque la tranche est ajoutée à la série.

Fonctions d'accès :

qreal startAngle() const

Signal Notifier :

void startAngleChanged()

[read-only] subSlicesCount : qsizetype

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

Fonctions d'accès :

qsizetype subSlicesCount() const

Signal de notification :

void subSlicesCountChanged(qsizetype count)

subSlicesRatio : qreal

La taille relative des sous-tranches par rapport à la tranche parentale. La valeur est comprise entre 0,0 et 1,0, où 1,0 signifie que les sous-tranches occupent la même quantité d'espace que la tranche parentale 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 conserve 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.

Note : Une valeur négative est convertie en valeur positive.

Fonctions d'accès :

qreal value() const
void setValue(qreal value)

Signal Notifier :

void valueChanged()

Voir aussi percentage() et QPieSeries::sum().

Documentation des fonctions membres

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

Construit une tranche vide avec le parent parent.

Voir aussi QPieSeries::append() et QPieSeries::insert().

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

Construit une tranche vide avec les éléments spécifiés value, label, et parent.

Voir aussi 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 transmise à la tranche.

Renvoie true si l'ajout est réussi.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de 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 transmise à la tranche.

Renvoie true si l'ajout est réussi.

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

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

Ajoute à la tranche une sous-tranche unique avec les adresses value et label spécifiées. La propriété de la sous-série est transmise à la tranche. Renvoie null si value est NaN, Inf, ou -Inf et n'ajoute rien à la série.

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

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

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

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[slot] void QPieSlice::clear()

Efface toutes les sous-tranches de la tranche.

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

Recherche un PieSlice qui contient l'étiquette label. Elle renvoie l'adresse PieSlice si elle est trouvée, sinon elle renvoie l'adresse null.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de 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 précédant la sous-tranche à la position spécifiée par index. La propriété de la sous-tranche est transmise à la tranche.

Renvoie true si l'insertion réussit.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de 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 sous-tranche unique, spécifiée par slice, de la tranche et l'efface définitivement.

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

Renvoie true si la suppression est réussie.

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

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

Supprime le site PieSlice à l'emplacement index. Le site PieSlice sera définitivement supprimé. Renvoie true si la suppression est réussie.

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

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

Supprime plusieurs PieSlices de la tranche commençant par index jusqu'à un nombre de count. Les PieSlices seront définitivement supprimés.

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

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

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

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

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

Remplace le site PieSlice à la position index par celui spécifié par slice. L'original PieSlice sera définitivement supprimé. Renvoie false si le remplacement de l'un des PieSlices échoue.

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

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

Remplace la liste complète des PieSlices de la tranche par la liste spécifiée par slices. Tous les PieSlices d'origine seront définitivement supprimés. Retourne true si tous les PieSlices ont été remplacés avec succès.

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

QPieSeries *QPieSlice::series() const

Renvoie la série à laquelle appartient cette tranche.

Voir également QPieSeries::append().

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

Renvoie une liste des sous-tranches qui appartiennent à 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 dans cette tranche.

Remarque : fonction Getter pour la propriété subSlicesCount.

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

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

Voir aussi remove().

qreal QPieSlice::subSlicesSum() const

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

Remarque : fonction Getter pour la propriété subSlicesSum.

Voir aussi QPieSlice::value(), QPieSlice::setValue() et QPieSlice::percentage().

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

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

Remarque : la tranche reste l'objet parent de la tranche. Vous devez définir l'objet parent pour qu'il devienne propriétaire.

Renvoie true si l'opération de prise a réussi.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de 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.