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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPieSlice ist Teil der „Qt Graphs “-C++-Klassen für 2D.
Ö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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QPieSlice::LabelPosition::Outside | 0 | Die Beschriftung befindet sich außerhalb des Schnitts und ist über einen Arm mit diesem verbunden. Dies ist der Standardwert. |
QPieSlice::LabelPosition::InsideHorizontal | 1 | Die Beschriftung ist innerhalb des Segments zentriert und horizontal angeordnet. |
QPieSlice::LabelPosition::InsideTangential | 2 | Die Beschriftung ist innerhalb des Schnitts zentriert und so gedreht, dass sie parallel zur Tangente des Schnittbogens verläuft. |
QPieSlice::LabelPosition::InsideNormal | 3 | Die 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.