Auf dieser Seite

QPieSlice Class

Die Klasse „QPieSlice“ stellt ein einzelnes Segment in einer Kreisdiagrammreihe dar. Mehr dazu...

Header: #include <QPieSlice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: PieSlice
Erbt von: 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 Kreisdiagrammsegment verfügt über einen Wert und eine Beschriftung. Wenn das Segment zu einer Kreisdiagrammreihe hinzugefügt wird, berechnet das Objekt „ QPieSeries “ den prozentualen Anteil des Segments im Vergleich zur Summe aller Segmente in der Reihe, um die tatsächliche Größe des Segments im Diagramm zu bestimmen.

Standardmäßig ist die Beschriftung ausgeblendet. Ist sie sichtbar, kann sie entweder außerhalb des Segments liegen und über einen Arm mit diesem verbunden sein oder innerhalb des Segments zentriert werden – entweder horizontal oder parallel zur Tangente oder Normalen des Segmentsbogens.

Standardmäßig wird das Erscheinungsbild des Segments durch ein Design festgelegt, das jedoch durch die Angabe von Segment-Eigenschaften überschrieben werden kann. Wird das Design jedoch geändert, nachdem die Segmente angepasst wurden, gehen alle Anpassungen verloren.

Um die Benutzerinteraktion mit dem Kreisdiagramm zu ermöglichen, werden einige grundlegende Signale ausgegeben, wenn Benutzer auf Kreissegmente klicken oder mit der Maus darüber fahren.

Ein Kreisdiagrammsegment kann Untersegmente enthalten.

Siehe auch „ QPieSeries “.

Dokumentation zu Mitgliedstypen

enum class QPieSlice::LabelPosition

Diese Enumeration beschreibt die Position der Slice-Bezeichnung.

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

Eigenschaftsdokumentation

[read-only] angleSpan : qreal

Diese Eigenschaft gibt den Winkelbereich des Segments in Grad an. Ein vollständiger Kreis umfasst 360 Grad, wobei 0 Grad der 12-Uhr-Position entspricht. Wird automatisch aktualisiert, sobald das Segment zur Reihe hinzugefügt wird.

Zugriffsfunktionen:

qreal angleSpan() const

Benachrichtigungssignal:

void angleSpanChanged()

borderColor : QColor

Diese Eigenschaft enthält die Farbe, die zum Zeichnen des Schnittbereichsrahmens verwendet wird. Dies ist eine Hilfseigenschaft zum Bearbeiten des Schnittbereichs.

Zugriffsfunktionen:

QColor borderColor() const
void setBorderColor(QColor color)

Benachrichtigungssignal:

void borderColorChanged()

Siehe auch „ borderWidth “.

borderWidth : qreal

Diese Eigenschaft gibt die Breite des Slice-Rahmens an. Es handelt sich um eine Komfort-Eigenschaft zum Ändern der Breite des Slice-Rahmens.

Zugriffsfunktionen:

qreal borderWidth() const
void setBorderWidth(qreal borderWidth)

Benachrichtigungssignal:

void borderWidthChanged()

Siehe auch „ borderColor “.

color : QColor

Diese Eigenschaft enthält die Füllfarbe des Segments. Es handelt sich um eine Komfort-Eigenschaft zum Ändern der Füllfarbe des Segments.

Zugriffsfunktionen:

QColor color() const
void setColor(QColor color)

Benachrichtigungssignal:

void colorChanged()

explodeDistanceFactor : qreal

Legt fest, wie weit das Stück vom Kreis entfernt dargestellt wird.

  • 1,0 bedeutet, dass der Abstand dem Radius entspricht.
  • 0,5 bedeutet, dass der Abstand der Hälfte des Radius entspricht.

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 das Stück 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 Ausschnitts.

Hinweis: Die Zeichenkette 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 gibt die Länge des Beschriftungsarms an. Der Faktor bezieht sich auf den Radius des Kreisdiagramms. Beispiel:

  • 1,0 bedeutet, dass die Länge dem Radius entspricht.
  • 0,5 bedeutet, dass die Länge der Hälfte des Radius entspricht.

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

Zugriffsfunktionen:

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

Benachrichtigungssignal:

void labelArmLengthFactorChanged()

Siehe auch label, labelVisible und labelFont.

labelColor : QColor

Diese Eigenschaft legt die Farbe fest, mit der die Scheibenbeschriftung gezeichnet wird.

Zugriffsfunktionen:

QColor labelColor() const
void setLabelColor(QColor color)

Benachrichtigungssignal:

void labelColorChanged()

labelFont : QFont

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelFontChanged()

Siehe auch „ label “, „ labelVisible “ und „ labelArmLengthFactor “.

labelPosition : LabelPosition

Diese Eigenschaft gibt die Position der Scheibenbezeichnung an.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelPositionChanged()

Siehe auch label und labelVisible.

labelVisible : bool

Diese Eigenschaft legt die Sichtbarkeit der Schnittbezeichnung fest. Standardmäßig ist die Bezeichnung nicht sichtbar.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelVisibleChanged()

Siehe auch label, labelFont und labelArmLengthFactor.

[read-only] percentage : qreal

Diese Eigenschaft gibt den prozentualen Anteil des Segments im Verhältnis zur Summe aller Segmente der Reihe an. Der tatsächliche Wert liegt zwischen 0,0 und 1,0. Er wird automatisch aktualisiert, sobald das Segment zur Reihe hinzugefügt wird.

Zugriffsfunktionen:

qreal percentage() const

Benachrichtigungssignal:

void percentageChanged()

Siehe auch value und QPieSeries::sum.

[read-only] sliceChildren : QQmlListProperty<QPieSlice>

Die Liste der in diesem Slice enthaltenen Unterslices. Hierbei handelt es sich um eine Standardeigenschaft, die es ermöglicht, Unterslices innerhalb eines Slice-Elements in QML anzugeben, ohne den Eigenschaftsnamen „children“ explizit verwenden zu müssen.

Zugriffsfunktionen:

QQmlListProperty<QPieSlice> sliceChildren()

[read-only] startAngle : qreal

Diese Eigenschaft enthält den Startwinkel dieses Segments in der Serie, zu der es gehört. Ein vollständiger Kreis umfasst 360 Grad, wobei 0 Grad der 12-Uhr-Position entspricht. Wird automatisch aktualisiert, sobald das Segment zur Serie hinzugefügt wird.

Zugriffsfunktionen:

qreal startAngle() const

Benachrichtigungssignal:

void startAngleChanged()

[read-only] subSlicesCount : qsizetype

Diese Eigenschaft gibt die Anzahl der Teilschnitte innerhalb des Schnitts an.

Zugriffsfunktionen:

qsizetype subSlicesCount() const

Benachrichtigungssignal:

void subSlicesCountChanged(qsizetype count)

subSlicesRatio : qreal

Die relative Größe der Teilschnitte im Vergleich zum übergeordneten Schnitt. Der Wert liegt zwischen 0,0 und 1,0, wobei 1,0 bedeutet, dass die Teilschnitte denselben Platz einnehmen wie der übergeordnete Schnitt ohne Teilschnitte. Der Standardwert beträgt 0,6.

Zugriffsfunktionen:

qreal subSlicesRatio() const
void setSubSlicesRatio(qreal subSlicesRatio)

Benachrichtigungssignal:

void subSlicesRatioChanged(qreal newSubSlicesRatio)

[read-only] subSlicesSum : qreal

Diese Eigenschaft enthält die Summe aller Teilschnitte.

Das Segment verfolgt die Summe aller darin enthaltenen Teilsegmente.

Zugriffsfunktionen:

qreal subSlicesSum() const

Benachrichtigungssignal:

void subSlicesSumChanged(qreal sum)

value : qreal

Diese Eigenschaft enthält den Wert des Ausschnitts.

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 zu den Mitgliedsfunktionen

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

Erstellt einen leeren Ausschnitt mit der übergeordneten „ parent “.

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

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

Erstellt einen leeren Ausschnitt mit den angegebenen Werten für „ value “, „ label “ und „ parent “.

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

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

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

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

Fügt den durch ` slice ` angegebenen Teilschnitt an den Schnitt an. Die Eigentumsrechte am Teilschnitt werden an den Schnitt übertragen.

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Fügt das durch slices angegebene Array von Teilschnitten an den Schnitt an. Die Eigentumsrechte an den Teilschnitten werden an den Schnitt übertragen.

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Fügt dem Slice ein einzelnes Sub-Slice mit den angegebenen Werten für „ value “ und „ label “ hinzu. Die Eigentumsrechte am Sub-Slice werden an das Slice übergeben. Gibt „null“ zurück, wenn „ value “ auf „ NaN “, „ Inf “ oder „ -Inf “ gesetzt ist, und fügt der Serie nichts hinzu.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt das „ PieSlice “ an der Position „ index “ zurück. Gibt „null“ zurück, wenn kein „ PieSlice “ gefunden wurde.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

[slot] void QPieSlice::clear()

Löscht alle Teilschnitte aus dem Schnitt.

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

Sucht nach einem „ PieSlice “, der die Bezeichnung „ label “ enthält. Gibt bei Auffinden „ PieSlice “ zurück, andernfalls null.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Fügt den durch ` slice ` angegebenen Teil-Slice an die Stelle vor dem Teil-Slice ein, deren Position durch ` index` angegeben ist. Die Eigentumsrechte am Teil-Slice werden an den Slice übertragen.

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

bool QPieSlice::isEmpty() const

Gibt „ true “ zurück, wenn die Liste der Teilausschnitte leer ist.

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

Entfernt ein einzelnes Teilslice, das durch ` slice` angegeben wird, aus dem Slice und löscht es endgültig.

Nach diesem Aufruf kann nicht mehr auf den Zeiger verwiesen werden.

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Entfernt den „ PieSlice “ unter der Adresse index. Das „ PieSlice “ wird dauerhaft gelöscht. Gibt „ true “ zurück, wenn das Entfernen erfolgreich war.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Ersetzt die Datei „ PieSlice “ ( oldSlice ) durch „ newSlice “, sofern sie im Slice gefunden wird. „ oldSlice “ wird dauerhaft gelöscht. Gibt „ true “ zurück, wenn das Ersetzen erfolgreich war.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

QPieSeries *QPieSlice::series() const

Gibt die Reihe zurück, zu der dieser Ausschnitt gehört.

Siehe auch „ QPieSeries::append()“.

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

Gibt eine Liste der Teilschnitte zurück, die zu diesem Schnitt gehören.

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

Dieses Signal wird ausgelöst, wenn die durch „ slices “ angegebenen Teilschnitte zum Schnitt hinzugefügt werden.

Siehe auch append().

qsizetype QPieSlice::subSlicesCount() const

Gibt die Anzahl der Teilscheiben in dieser Scheibe zurück.

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

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

Dieses Signal wird ausgelöst, wenn die durch „ slices “ angegebenen Teilschnitte aus dem Schnitt entfernt werden.

Siehe auch remove().

qreal QPieSlice::subSlicesSum() const

Gibt die Summe aller Werte der Teilschnitte in diesem Schnitt 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 einen einzelnen Teilschnitt, der durch ` slice` angegeben wird, aus der Serie. Das Schnitt-Objekt wird dabei nicht gelöscht.

Hinweis: Der Ausschnitt bleibt das übergeordnete Objekt des Ausschnitts. Sie müssen das übergeordnete Objekt festlegen, um die vollständige Eigentümerschaft zu übernehmen.

Gibt „ true “ zurück, wenn der „take“-Vorgang erfolgreich war.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML 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.