Auf dieser Seite

QPieSeries Class

Die Klasse „QPieSeries“ stellt Daten in Kreisdiagrammen dar. Mehr...

Kopfzeile: #include <QPieSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: PieSeries
Erbt von: QAbstractSeries

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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)

Neu implementierte öffentliche Funktionen

virtual QAbstractSeries::SeriesType type() const override

Signale

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

Ausführliche Beschreibung

Eine Kreisdiagrammreihe besteht aus Segmenten, die als „ QPieSlice “-Objekte definiert sind. Die Segmente können beliebige Werte annehmen, da das „QPieSeries“-Objekt den prozentualen Anteil eines Segments im Vergleich zur Summe aller Segmente der Reihe berechnet, um die tatsächliche Größe des Segments im Diagramm zu bestimmen.

Die Größe und Position des Kreisdiagramms im Diagramm werden mithilfe relativer Werte zwischen 0,0 und 1,0 gesteuert. Diese beziehen sich auf das tatsächliche Diagrammrechteck.

Standardmäßig wird das Kreisdiagramm als vollständiges Kreisdiagramm definiert. Ein Teilkreisdiagramm kann erstellt werden, indem ein Startwinkel und ein Winkelbereich für die Reihe festgelegt werden. Ein vollständiges Kreisdiagramm umfasst 360 Grad, wobei 0 bei 12 Uhr liegt.

Siehe auch QPieSlice.

Dokumentation zu Mitgliedstypen

[since 6.10] enum class QPieSeries::LabelVisibility

Der Modus für die Sichtbarkeit von Beschriftungen.

KonstanteWertBeschreibung
QPieSeries::LabelVisibility::None0Alle Beschriftungen von Schnitten, deren Winkelspanne kleiner ist als der Wert „ angleSpanVisibleLimit “, werden ausgeblendet.
QPieSeries::LabelVisibility::First1Alle Beschriftungen außer der ersten von aufeinanderfolgenden Schnitten, deren Winkelspanne kleiner ist als der „ angleSpanVisibleLimit “, werden ausgeblendet. Dies ist der Standardwert.
QPieSeries::LabelVisibility::Even2Jede zweite Beschriftung aufeinanderfolgender Schichten, deren Winkelspanne kleiner ist als der „ angleSpanVisibleLimit “, wird ausgeblendet, beginnend mit der zweiten.
QPieSeries::LabelVisibility::Odd3Jede zweite Beschriftung aufeinanderfolgender Schnitte mit einer Winkelausdehnung, die kleiner ist als die des „ angleSpanVisibleLimit “, wird ausgeblendet, beginnend mit der ersten.

Diese Enumeration wurde in Qt 6.10 eingeführt.

Siehe auch „ QPieSeries::angleSpanVisibleLimit “.

Dokumentation zur Eigenschaft

[since 6.10] angleSpanLabelVisibility : LabelVisibility

Diese Eigenschaft legt den Modus für die Sichtbarkeit von Beschriftungen fest.

Der Modus bestimmt, welche Beschriftungen ausgeblendet werden, wenn sie sich innerhalb des mit ` angleSpanVisibleLimit` festgelegten Winkelbereichs befinden. Hat keine Auswirkung, wenn ` angleSpanVisibleLimit ` nicht festgelegt wurde.

Diese Aufzählung wurde in Qt 6.10 eingeführt.

Zugriffsfunktionen:

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

Notifier-Signal:

void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)

Siehe auch „ QPieSeries::angleSpanVisibleLimit “.

[since 6.10] angleSpanVisibleLimit : qreal

Diese Eigenschaft legt die Winkelbereichsgrenze für die Sichtbarkeit von Beschriftungen fest.

Der Winkelbereich, der als Sichtbarkeitsgrenze für eine Segmentbeschriftung verwendet wird. Ein Segment mit einem Winkelbereich unterhalb dieses Werts ändert seine Sichtbarkeit basierend auf der für die Reihe festgelegten Einstellung „ angleSpanLabelVisibility “. Der Standardwert ist „ 0 “, was bedeutet, dass unabhängig von der Einstellung „ angleSpanLabelVisibility “ keine Segmente ausgeblendet werden.

Diese Aufzählung wurde in Qt 6.10 eingeführt.

Zugriffsfunktionen:

qreal angleSpanVisibleLimit() const
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)

Notifier-Signal:

void angleSpanVisibleLimitChanged(qreal limit)

Siehe auch „ QPieSeries::angleSpanLabelVisibility “.

[read-only] count : qsizetype

Diese Eigenschaft gibt die Anzahl der Schichten in der Reihe an.

Zugriffsfunktionen:

qsizetype count() const

Benachrichtigungssignal:

void countChanged()

endAngle : qreal

Diese Eigenschaft gibt den Endwinkel des Kreises an.

Ein vollständiger Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.

Der Standardwert ist 360.

Zugriffsfunktionen:

qreal endAngle() const
void setEndAngle(qreal angle)

Benachrichtigungssignal:

void endAngleChanged()

holeSize : qreal

Diese Eigenschaft gibt die Größe des Donut-Lochs an.

Beim Festlegen der Eigenschaft „ pieSize “ wird diese Eigenschaft bei Bedarf angepasst, um sicherzustellen, dass die Lochgröße nicht größer ist als die Kreisgröße.

Der Standardwert ist 0,0.

Zugriffsfunktionen:

qreal holeSize() const
void setHoleSize(qreal holeSize)

Benachrichtigungssignal:

void holeSizeChanged()

horizontalPosition : qreal

Diese Eigenschaft legt die horizontale Position des Kreisdiagramms fest.

Der Wert bezieht sich auf das Diagrammrechteck, sodass:

  • 0,0 die absolute linke Position ist.
  • 1,0 ist die absolute rechte Position.

Der Standardwert ist 0,5 (Mitte).

Zugriffsfunktionen:

qreal horizontalPosition() const
void setHorizontalPosition(qreal relativePosition)

Benachrichtigungssignal:

void horizontalPositionChanged()

Siehe auch verticalPosition.

pieSize : qreal

Diese Eigenschaft gibt die Größe des Kreisdiagramms an.

Der Wert bezieht sich auf das Diagrammrechteck, sodass gilt:

  • 0,0 die minimale „pieSize“ ist (Kuchendiagramm wird nicht gezeichnet).
  • 1,0 ist die maximale „pieSize“, die in das Diagramm passt.

Beim Festlegen dieser Eigenschaft wird die Eigenschaft „ holeSize “ bei Bedarf angepasst, um sicherzustellen, dass die Lochgröße nicht größer ist als die Kreisgröße.

Der Standardwert beträgt 0,7.

Zugriffsfunktionen:

qreal pieSize() const
void setPieSize(qreal relativeSize)

Notifier-Signal:

void pieSizeChanged()

[since 6.12] sliceData : QList<qreal>

Deklarative Werte für die Segmente.

Setzen Sie diese Eigenschaft, um Tortenstücke deklarativ zu erstellen. Die Reihe erstellt automatisch ein Tortenstück pro Wert. Beschriftungen können über „ sliceLabels “ angegeben werden.

Hinweis: Die Kombination von deklarativer und imperativer Dateneingabe wird nicht unterstützt.

Diese Aufzählung wurde in Qt 6.12 eingeführt.

Zugriffsfunktionen:

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

Notifier-Signal:

void sliceDataChanged(const QList<qreal> &sliceData)

Siehe auch sliceLabels.

[since 6.12] sliceLabels : QStringList

Deklarative Slice-Bezeichnungen.

Stellt Bezeichnungen für Segmente bereit, die über „ sliceData “ erstellt wurden. Die Bezeichnungen müssen in derselben Reihenfolge wie die Werte stehen. Zusätzliche Bezeichnungen, die über die Anzahl der Segmente hinausgehen, werden ignoriert.

Hinweis: Die gemischte Verwendung von deklarativer und imperativer Dateneingabe wird nicht unterstützt.

Diese Aufzählung wurde in Qt 6.12 eingeführt.

Zugriffsfunktionen:

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

Notifier-Signal:

void sliceLabelsChanged(const QStringList &sliceLabels)

Siehe auch sliceData.

startAngle : qreal

Diese Eigenschaft gibt den Startwinkel des Kreises an.

Ein voller Kreis umfasst 360 Grad, wobei 0 Grad der 12-Uhr-Position entspricht.

Der Standardwert ist 0.

Zugriffsfunktionen:

qreal startAngle() const
void setStartAngle(qreal angle)

Benachrichtigungssignal:

void startAngleChanged()

[read-only] sum : qreal

Diese Eigenschaft enthält die Summe aller Segmente.

Die Reihe verfolgt die Summe aller in ihr enthaltenen Segmente.

Zugriffsfunktionen:

qreal sum() const

Benachrichtigungssignal:

void sumChanged()

verticalPosition : qreal

Diese Eigenschaft legt die vertikale Position des Kreisdiagramms fest.

Der Wert bezieht sich auf das Diagrammrechteck, sodass:

  • 0,0 die absolute Oberkante ist.
  • 1,0 ist die absolute Unterkante.

Der Standardwert ist 0,5 (Mitte).

Zugriffsfunktionen:

qreal verticalPosition() const
void setVerticalPosition(qreal relativePosition)

Benachrichtigungssignal:

void verticalPositionChanged()

Siehe auch horizontalPosition.

Dokumentation der Member-Funktionen

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

Erstellt ein Serienobjekt, das ein untergeordnetes Objekt von „ parent “ ist.

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

Dieses Signal wird ausgegeben, wenn die durch „ slices “ angegebenen Schnitte zur Serie hinzugefügt werden.

Siehe auch append().

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

Fügt den durch slice angegebenen Ausschnitt an die Reihe an. Die Eigentumsrechte an dem Ausschnitt werden an die Reihe ü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 QPieSeries::append(const QList<QPieSlice *> &slices)

Fügt das durch ` slices ` angegebene Array von Slices an die Serie an. Die Eigentumsrechte an den Slices werden an die Serie übergeben.

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

Fügt der Serie einen einzelnen Slice mit den angegebenen Werten für „ value “ und „ label “ hinzu. Die Eigentumsrechte am Slice werden an die Serie übertragen. Gibt „null“ zurück, wenn „ value “ den Wert „ NaN “, „ Inf “ oder „ -Inf “ hat, und fügt der Serie nichts hinzu.

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

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

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.

[invokable] void QPieSeries::clear()

Löscht alle Slices aus der Serie.

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

qsizetype QPieSeries::count() const

Gibt die Anzahl der Segmente in dieser Reihe zurück.

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

qreal QPieSeries::endAngle() const

Gibt den Endwinkel des Kreises zurück.

Ein vollständiger Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.

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

Siehe auch „ setEndAngle()“, „ startAngle()“ und „ setStartAngle()“.

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

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

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

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

Fügt den durch slice angegebenen Ausschnitt vor dem Ausschnitt an der durch index angegebenen Position in die Reihe ein. Die Eigentumsrechte am Ausschnitt werden an die Reihe übergeben.

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

Gibt „ true “ zurück, wenn die Reihe leer ist.

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

Entfernt einen einzelnen Slice, der durch ` slice` angegeben wird, aus der Serie und löscht ihn endgültig.

Auf den Zeiger kann nach diesem Aufruf nicht mehr 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 QPieSeries::remove(qsizetype index)

Entfernt den „ PieSlice “ unter der Adresse index. Der „ PieSlice “ wird endgültig 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 QPieSeries::removeMultiple(qsizetype index, int count)

Entfernt mehrere „PieSlices“ aus der Reihe, beginnend bei „ index “ bis zu der Anzahl „ count “. Die „PieSlices“ werden dauerhaft gelöscht.

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

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

Dieses Signal wird ausgegeben, wenn die durch „ slices “ angegebenen Schichten aus der Serie entfernt werden.

Siehe auch remove().

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

Ersetzt die gesamte Liste der PieSlices in der Serie 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.

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

Ersetzt die Datei „ PieSlice “ ( oldSlice ) durch „ newSlice “, sofern diese in der Serie gefunden wird. „oldSlice “ wird endgültig 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 QPieSeries::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.

void QPieSeries::setEndAngle(qreal angle)

Legt den Endwinkel des Kreises fest.

Ein vollständiger Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.

angle muss größer sein als der Startwinkel.

Hinweis: Setter -Funktion für die Eigenschaft „ endAngle “.

Siehe auch „ endAngle()“, „ startAngle()“ und „ setStartAngle()“.

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

Legt die Position aller Segmentbeschriftungen auf „ position “ fest.

Hinweis: Diese Funktion wirkt sich nur auf die aktuellen Slices in der Serie aus. Wird ein neues Slice hinzugefügt, ist die Standardposition der Beschriftung „QPieSlice::LabelOutside“.

Siehe auch „ QPieSlice::labelPosition()“ und „ QPieSlice::setLabelPosition()“.

void QPieSeries::setLabelsVisible(bool visible)

Legt die Sichtbarkeit aller Slice-Beschriftungen auf „ visible “ fest.

Hinweis: Diese Funktion wirkt sich nur auf die aktuellen Schnitten in der Reihe aus. Wird eine neue Schnittfläche hinzugefügt, ist die Standard-Sichtbarkeit der Beschriftung „ false “.

Siehe auch „ QPieSlice::isLabelVisible()“ und „ QPieSlice::setLabelVisible()“.

void QPieSeries::setStartAngle(qreal angle)

Legt den Startwinkel des Kreises fest.

Ein vollständiger Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.

angle muss kleiner als der Endwinkel sein.

Hinweis: Setter -Funktion für die Eigenschaft „ startAngle “.

Siehe auch „ startAngle()“, „ endAngle()“ und „ setEndAngle()“.

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

Gibt eine Liste der zu dieser Reihe gehörenden Ausschnitte zurück.

qreal QPieSeries::startAngle() const

Gibt den Startwinkel des Kreisdiagramms zurück.

Ein vollständiger Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.

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

Siehe auch „ setStartAngle()“, „ endAngle()“ und „ setEndAngle()“.

qreal QPieSeries::sum() const

Gibt die Summe aller Werte des Slices in dieser Serie zurück.

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

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

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

Entnimmt einen einzelnen Ausschnitt aus der Serie, der durch ` slice` angegeben wird. Das Ausschnitt-Objekt wird dabei nicht gelöscht.

Hinweis: Die Serie 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.

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

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QAbstractSeries::type “ neu.

Gibt den Typ der Reihe zurück.

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

Fügt den durch „ slice “ angegebenen Ausschnitt an die Reihe an und gibt eine Referenz auf die Reihe zurück. Die Eigentumsrechte an dem Ausschnitt werden an die Reihe übertragen.

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