Auf dieser Seite

QPieSlice Class

Die Klasse QPieSlice repräsentiert eine einzelne Scheibe in einer Tortenreihe. Mehr...

Kopfzeile: #include <QPieSlice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: PieSlice
Vererbt: QObject

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

void clear()

Signale

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

Detaillierte Beschreibung

Ein Tortenstück hat einen Wert und eine Bezeichnung. Wenn der Slice zu einer Kuchenserie hinzugefügt wird, berechnet das QPieSeries Objekt den Prozentsatz des Slice im Vergleich zur Summe aller Slices in der Serie, um die tatsächliche Größe des Slice im Diagramm zu bestimmen.

Standardmäßig ist die Beschriftung ausgeblendet. Wenn es sichtbar ist, kann es sich entweder außerhalb der Slice befinden und mit ihr durch einen Arm verbunden sein oder innerhalb der Slice entweder horizontal oder parallel zur Tangente oder Normalen des Slice-Bogens zentriert sein.

Standardmäßig wird das visuelle Erscheinungsbild der Scheibe durch ein Thema festgelegt, aber das Thema kann durch Angabe von Scheibeneigenschaften außer Kraft gesetzt werden. Wenn das Thema jedoch geändert wird, nachdem die Slices angepasst wurden, gehen alle Anpassungen verloren.

Um die Interaktion des Benutzers mit dem Kreisdiagramm zu ermöglichen, werden einige grundlegende Signale ausgegeben, wenn der Benutzer auf Kreisscheiben klickt oder mit der Maus über sie fährt.

Ein Kreisausschnitt kann Unterausschnitte enthalten.

Siehe auch QPieSeries.

Member-Typ-Dokumentation

enum class QPieSlice::LabelPosition

Diese Aufzählung beschreibt die Position des Slice-Labels.

KonstanteWertBeschreibung
QPieSlice::LabelPosition::Outside0Die Beschriftung befindet sich außerhalb der Scheibe, mit der sie über einen Arm verbunden ist. Dies ist der Standardwert.
QPieSlice::LabelPosition::InsideHorizontal1Die Beschriftung ist innerhalb des Slice zentriert und horizontal angeordnet.
QPieSlice::LabelPosition::InsideTangential2Die Beschriftung ist innerhalb des Slice zentriert und parallel zur Tangente des Slice-Bogens gedreht.
QPieSlice::LabelPosition::InsideNormal3Die Beschriftung wird in der Scheibe zentriert und so gedreht, dass sie parallel zur Normalen des Scheibenbogens verläuft.

Dokumentation der Eigenschaft

[read-only] angleSpan : qreal

Diese Eigenschaft gibt die Spannweite des Stücks in Grad an. Ein voller Kuchen hat 360 Grad, wobei 0 Grad bei 12 Uhr liegt. Sie wird automatisch aktualisiert, sobald die Scheibe zur Serie hinzugefügt wird.

Zugriffsfunktionen:

qreal angleSpan() const

Benachrichtigungssignal:

void angleSpanChanged()

borderColor : QColor

Diese Eigenschaft enthält die Farbe, die zum Zeichnen des Slice-Rahmens verwendet wird. Dies ist eine bequeme Eigenschaft zum Ändern des Slice.

Zugriffsfunktionen:

QColor borderColor() const
void setBorderColor(QColor color)

Benachrichtigungssignal:

void borderColorChanged()

Siehe auch borderWidth.

borderWidth : qreal

Diese Eigenschaft enthält die Breite des Scheibenrandes. Dies ist eine praktische Eigenschaft, um die Breite des Slice-Rahmens zu ändern.

Zugriffsfunktionen:

qreal borderWidth() const
void setBorderWidth(qreal borderWidth)

Benachrichtigungssignal:

void borderWidthChanged()

Siehe auch borderColor.

color : QColor

Diese Eigenschaft enthält die Füllfarbe des Slice. Dies ist eine bequeme Eigenschaft zum Ändern der Füllfarbe des Slice.

Zugriffsfunktionen:

QColor color() const
void setColor(QColor color)

Benachrichtigungssignal:

void colorChanged()

explodeDistanceFactor : qreal

Legt fest, wie weit die Scheibe vom Kuchen entfernt explodiert.

  • 1,0 bedeutet, dass der Abstand gleich dem Radius ist.
  • 0,5 bedeutet, dass der Abstand die Hälfte des Radius beträgt.

Standardmäßig beträgt der Abstand 0,15.

Zugriffsfunktionen:

qreal explodeDistanceFactor() const
void setExplodeDistanceFactor(qreal factor)

Benachrichtigungssignal:

void explodeDistanceFactorChanged()

Siehe auch exploded.

exploded : bool

Diese Eigenschaft gibt an, ob die Scheibe vom Kuchen getrennt ist.

Zugriffsfunktionen:

bool isExploded() const
void setExploded(bool exploded)

Benachrichtigungssignal:

void explodedChanged()

Siehe auch explodeDistanceFactor.

label : QString

Diese Eigenschaft enthält die Bezeichnung des Slice.

Hinweis: Die Zeichenfolge kann HTML-formatiert sein.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelChanged()

Siehe auch labelVisible, labelFont, und labelArmLengthFactor.

labelArmLengthFactor : qreal

Diese Eigenschaft bestimmt die Länge des Beschriftungsarms. Der Faktor ist relativ zum Tortenradius. Zum Beispiel:

  • 1,0 bedeutet, dass die Länge gleich dem Radius ist.
  • 0,5 bedeutet, dass die Länge die Hälfte des Radius beträgt.

Standardmäßig beträgt die Länge des Arms 0,15.

Zugriffsfunktionen:

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

Melder-Signal:

void labelArmLengthFactorChanged()

Siehe auch label, labelVisible, und labelFont.

labelColor : QColor

Diese Eigenschaft enthält die Farbe, die zum Zeichnen des Slice-Labels verwendet wird.

Zugriffsfunktionen:

QColor labelColor() const
void setLabelColor(QColor color)

Melder-Signal:

void labelColorChanged()

labelFont : QFont

Diese Eigenschaft enthält die Schriftart, die zum Zeichnen des Etikettentextes verwendet wird.

Zugriffsfunktionen:

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

Melder-Signal:

void labelFontChanged()

Siehe auch label, labelVisible, und labelArmLengthFactor.

labelPosition : LabelPosition

Diese Eigenschaft enthält die Position des Slice-Labels.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelPositionChanged()

Siehe auch label und labelVisible.

labelVisible : bool

Diese Eigenschaft bestimmt die Sichtbarkeit des Slice-Labels. Standardmäßig ist die Beschriftung nicht sichtbar.

Zugriffsfunktionen:

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

Melder-Signal:

void labelVisibleChanged()

Siehe auch label, labelFont, und labelArmLengthFactor.

[read-only] percentage : qreal

Diese Eigenschaft enthält den prozentualen Anteil des Slices im Vergleich zur Summe aller Slices in der Serie. Der aktuelle Wert reicht von 0,0 bis 1,0. Wird automatisch aktualisiert, sobald das Slice zur Serie hinzugefügt wird.

Zugriffsfunktionen:

qreal percentage() const

Melder-Signal:

void percentageChanged()

Siehe auch value und QPieSeries::sum.

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

Die Liste der in diesem Slice enthaltenen Sub-Slices. Dies ist eine Standardeigenschaft, die es ermöglicht, Sub-Slices innerhalb eines Slice-Elements in QML anzugeben, ohne explizit den Eigenschaftsnamen children zu verwenden.

Zugriffsfunktionen:

QQmlListProperty<QPieSlice> sliceChildren()

[read-only] startAngle : qreal

Diese Eigenschaft enthält den Anfangswinkel dieser Scheibe in der Serie, zu der sie gehört. Ein voller Kuchen hat 360 Grad, wobei 0 Grad bei 12 Uhr liegt. Sie wird automatisch aktualisiert, sobald die Scheibe zur Serie hinzugefügt wird.

Zugriffsfunktionen:

qreal startAngle() const

Benachrichtigungssignal:

void startAngleChanged()

[read-only] subSlicesCount : qsizetype

Diese Eigenschaft enthält die Anzahl der Sub-Slices im Slice.

Zugriffsfunktionen:

qsizetype subSlicesCount() const

Benachrichtigungssignal:

void subSlicesCountChanged(qsizetype count)

subSlicesRatio : qreal

Die relative Größe der Sub-Slices im Vergleich zum Parent-Slice. Der Wert reicht von 0,0 bis 1,0, wobei 1,0 bedeutet, dass die Sub-Slices genauso viel Platz einnehmen wie das Parent-Slice ohne Sub-Slices. Der Standardwert ist 0,6.

Zugriffsfunktionen:

qreal subSlicesRatio() const
void setSubSlicesRatio(qreal subSlicesRatio)

Melder-Signal:

void subSlicesRatioChanged(qreal newSubSlicesRatio)

[read-only] subSlicesSum : qreal

Diese Eigenschaft enthält die Summe aller Sub-Slices.

Das Slice behält die Summe aller Sub-Slices, die es enthält, im Auge.

Zugriffsfunktionen:

qreal subSlicesSum() const

Benachrichtigungssignal:

void subSlicesSumChanged(qreal sum)

value : qreal

Diese Eigenschaft enthält den Wert des Slice.

Hinweis: Ein negativer Wert wird in einen positiven Wert umgewandelt.

Zugriffsfunktionen:

qreal value() const
void setValue(qreal value)

Benachrichtigungssignal:

void valueChanged()

Siehe auch percentage() und QPieSeries::sum().

Dokumentation der Mitgliedsfunktionen

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

Konstruiert ein leeres Slice mit dem übergeordneten parent.

Siehe auch QPieSeries::append() und QPieSeries::insert().

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

Konstruiert ein leeres Slice mit den angegebenen value, label und parent.

Siehe auch QPieSeries::append() und QPieSeries::insert().

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

Entfernt das Slice. Das Slice sollte nicht entfernt werden, wenn es zu einer Serie hinzugefügt wurde.

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

Hängt das durch slice angegebene Sub-Slice an das Slice an. Der Besitz des Sub-Slice wird an das Slice übergeben.

Gibt true zurück, wenn das Anhängen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Hängt das durch slices angegebene Array von Sub-Slices an das Slice an. Der Besitz des Sub-Slices wird an das Slice übergeben.

Gibt true zurück, wenn das Anhängen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Hängt ein einzelnes Sub-Slice mit dem angegebenen value und label an das Slice an. Der Besitz des Sub-Slice wird an das Slice übergeben. Gibt null zurück, wenn value NaN , Inf oder -Inf ist und fügt der Serie nichts hinzu.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Liefert den PieSlice an der Position index. Gibt null zurück, wenn kein PieSlice gefunden wurde.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

[slot] void QPieSlice::clear()

Löscht alle Sub-Slices aus dem Slice.

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

Sucht nach einem PieSlice, das die Bezeichnung label enthält. Gibt das PieSlice zurück, wenn es gefunden wurde, ansonsten null.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Fügt das durch slice angegebene Sub-Slice in das Slice vor dem Sub-Slice an der durch index angegebenen Position ein. Der Besitz des Sub-Slice wird an das Slice übergeben.

Gibt true zurück, wenn das Einfügen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

bool QPieSlice::isEmpty() const

Gibt true zurück, wenn die Liste der Sub-Slices leer ist.

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

Entfernt ein einzelnes Sub-Slice, angegeben durch slice, aus dem Slice und löscht es dauerhaft.

Der Zeiger kann nach diesem Aufruf nicht mehr referenziert werden.

Gibt true zurück, wenn das Entfernen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Entfernt die Datei PieSlice an der Stelle index. Die Datei PieSlice wird dauerhaft gelöscht. Gibt true zurück, wenn das Entfernen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Entfernt mehrere PieSlices aus dem Slice beginnend mit index bis zu einer Anzahl von count. Die PieSlices werden dauerhaft gelöscht.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Ersetzt PieSlice oldSlice durch newSlice, falls im Slice gefunden. oldSlice wird dauerhaft gelöscht. Gibt true zurück, wenn das Ersetzen erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Ersetzt das PieSlice an der Position index durch das durch slice angegebene. Das ursprüngliche PieSlice wird dauerhaft gelöscht. Gibt false zurück, wenn das Ersetzen eines der PieSlices fehlschlägt.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

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

Ersetzt die gesamte Liste der PieSlices im Slice durch die unter slices angegebene Liste. Alle ursprünglichen PieSlices werden dauerhaft gelöscht. Gibt true zurück, wenn alle PieSlices erfolgreich ersetzt wurden.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

QPieSeries *QPieSlice::series() const

Gibt die Serie zurück, zu der dieses Slice gehört.

Siehe auch QPieSeries::append().

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

Gibt eine Liste der Sub-Slices zurück, die zu diesem Slice gehören.

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

Dieses Signal wird ausgegeben, wenn die durch slices angegebenen Sub-Slices zum Slice hinzugefügt werden.

Siehe auch append().

qsizetype QPieSlice::subSlicesCount() const

Gibt die Anzahl der Sub-Slices in diesem Slice zurück.

Hinweis: Getter-Funktion für die Eigenschaft subSlicesCount.

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

Dieses Signal wird ausgegeben, wenn die durch slices angegebenen Sub-Slices aus dem Slice entfernt werden.

Siehe auch remove().

qreal QPieSlice::subSlicesSum() const

Gibt die Summe aller Sub-Slices-Werte in diesem Slice zurück.

Hinweis: Getter-Funktion für die Eigenschaft subSlicesSum.

Siehe auch QPieSlice::value(), QPieSlice::setValue(), und QPieSlice::percentage().

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

Entnimmt ein einzelnes Sub-Slice, angegeben durch slice, aus der Serie. Das Slice-Objekt wird nicht gelöscht.

Hinweis: Das Slice bleibt das übergeordnete Objekt des Slice. Sie müssen das übergeordnete Objekt setzen, um den vollen Besitz zu übernehmen.

Gibt true zurück, wenn der Take-Vorgang erfolgreich war.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe 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.