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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPieSlice ist Teil von Qt Graphs C++ Classes for 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 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QPieSlice::LabelPosition::Outside | 0 | Die Beschriftung befindet sich außerhalb der Scheibe, mit der sie über einen Arm verbunden ist. Dies ist der Standardwert. |
QPieSlice::LabelPosition::InsideHorizontal | 1 | Die Beschriftung ist innerhalb des Slice zentriert und horizontal angeordnet. |
QPieSlice::LabelPosition::InsideTangential | 2 | Die Beschriftung ist innerhalb des Slice zentriert und parallel zur Tangente des Slice-Bogens gedreht. |
QPieSlice::LabelPosition::InsideNormal | 3 | Die 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.