PieSeries QML Type
Stellt Daten in Kreisdiagrammen dar. Mehr...
| Import Statement: | import QtGraphs |
| In C++: | QPieSeries |
| Inherits: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- PieSeries ist Teil von „Qt Graphs “ – QML-Typen für 2D.
Eigenschaften
- angleSpanLabelVisibility : enumeration
(since 6.10) - angleSpanVisibleLimit : real
(since 6.10) - count : int
- endAngle : real
- holeSize : real
- horizontalPosition : real
- pieSize : real
- sliceData : list<real>
(since 6.12) - sliceLabels : list<string>
(since 6.12) - startAngle : real
- sum : real
- verticalPosition : real
Signale
- added(list<PieSlice> slices)
- angleSpanLabelVisibilityChanged(LabelVisibility visibility)
(since 6.10) - angleSpanVisibleLimitChanged(real limit)
(since 6.10) - clicked(PieSlice slice)
- countChanged()
- doubleClicked(PieSlice slice)
- endAngleChanged()
- holeSizeChanged()
- horizontalPositionChanged()
- pieSizeChanged()
- pressed(PieSlice slice)
- released(PieSlice slice)
- removed(list<PieSlice> slices)
- sliceDataChanged(list<real> sliceData)
(since 6.12) - sliceLabelsChanged(list<string> sliceLabels)
(since 6.12) - startAngleChanged()
- sumChanged()
- verticalPositionChanged()
Methoden
- PieSlice append(string label, real value)
- PieSlice at(int index)
- void clear()
- PieSlice find(string label)
- bool remove(PieSlice slice)
- bool remove(int index)
- void removeMultiple(int index, int count)
- bool replace(list<PieSlice> slices)
- bool replace(PieSlice oldSlice, PieSlice newSlice)
- bool replace(int index, PieSlice slice)
- bool take(PieSlice slice)
Ausführliche Beschreibung
Eine Kreisdiagrammreihe besteht aus Segmenten, die mithilfe des Typs „ PieSlice “ definiert werden. Die Segmente können beliebige Werte annehmen, da der Typ „PieSeries“ 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 der Kreissegmente im Diagramm werden durch relative Werte im Bereich von 0,0 bis 1,0 gesteuert. Diese beziehen sich auf das tatsächliche Diagrammrechteck.
Standardmäßig wird das Kreisdiagramm als Vollkreis definiert. Ein Teilkreisdiagramm kann erstellt werden, indem ein Startwinkel und ein Winkelbereich für die Reihe festgelegt werden. Ein Vollkreis umfasst 360 Grad, wobei 0 auf 12 Uhr liegt.
Das folgende QML-Beispiel zeigt, wie man ein einfaches Kreisdiagramm erstellt.
import QtQuick
import QtGraphs
Item {
id: mainView
width: 1280
height: 720
GraphsView {
anchors.fill: parent
theme: GraphsTheme {
colorScheme: GraphsTheme.ColorScheme.Dark
theme: GraphsTheme.Theme.QtGreen
}
PieSeries {
id: pieSeries
PieSlice {
value: 1
}
PieSlice {
value: 2
}
}
}
}Siehe auch PieSlice und GraphsView.
Dokumentation zu den Eigenschaften
angleSpanLabelVisibility : enumeration [since 6.10]
Der Modus für die Sichtbarkeit von Beschriftungen.
Der Modus, der festlegt, welche Beschriftungen ausgeblendet werden, wenn sie sich unterhalb der mit ` angleSpanVisibleLimit` festgelegten Winkelbereichsgrenze befinden. Hat keine Auswirkung, wenn ` angleSpanVisibleLimit ` nicht festgelegt wurde.
| Konstante | Beschreibung |
|---|---|
PieSeries.LabelVisibility.None | Alle Beschriftungen von Schnitten, deren Winkelbereich kleiner ist als „ angleSpanVisibleLimit “, werden ausgeblendet. |
PieSeries.LabelVisibility.First | Alle Beschriftungen außer der ersten von aufeinanderfolgenden Schnitten, deren Winkelbereich kleiner ist als der unter „ angleSpanVisibleLimit “ festgelegte, werden ausgeblendet. Dies ist der Standardwert. |
PieSeries.LabelVisibility.Even | Jede zweite Beschriftung aufeinanderfolgender Schichten mit einer Winkelbreite, die kleiner ist als der „ angleSpanVisibleLimit “, wird ausgeblendet, beginnend mit der zweiten. |
PieSeries.LabelVisibility.Odd | Jede zweite Beschriftung aufeinanderfolgender Schnitte mit einer Winkelausdehnung, die kleiner ist als die des „ angleSpanVisibleLimit “, wird ausgeblendet, beginnend mit der ersten. |
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
Siehe auch „ angleSpanVisibleLimit “.
angleSpanVisibleLimit : real [since 6.10]
Die Winkelbereichsgrenze für die Sichtbarkeit von Beschriftungen.
Der Winkelbereich, der als Sichtbarkeitsgrenze für eine Scheibenbeschriftung verwendet wird. Eine Scheibe mit einem Winkelbereich unterhalb dieses Werts ändert ihre Sichtbarkeit entsprechend der für die Serie festgelegten Einstellung „ angleSpanLabelVisibility “. Der Standardwert ist „ 0 “, was bedeutet, dass unabhängig von der Einstellung „ angleSpanLabelVisibility “ keine Scheiben ausgeblendet werden.
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
Siehe auch „ angleSpanLabelVisibility “.
count : int [read-only]
Die Anzahl der Schichten in der Serie.
endAngle : real
Der Endwinkel des Kreises.
Ein voller Kreis beträgt 360 Grad, wobei 0 Grad bei 12 Uhr liegt.
Der Standardwert ist 360.
holeSize : real
Die Größe des Donut-Lochs.
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.
horizontalPosition : real
Die horizontale Position des Kreisdiagramms.
Der Wert bezieht sich auf das Diagrammrechteck, sodass gilt:
- 0,0 die absolute linke Seite ist.
- 1,0 ist die absolute rechte Position.
Der Standardwert ist 0,5 (Mitte).
Siehe auch verticalPosition.
pieSize : real
Die Größe des Kreisdiagramms.
Der Wert bezieht sich auf das Diagrammrechteck, sodass gilt:
- 0,0 die minimale „pieSize“ ist (Kreisdiagramm wird nicht gezeichnet).
- 1,0 ist die maximale Kreisgröße, 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.
sliceData : list<real> [since 6.12]
Deklarative Werte für die Tortenstücke.
Diese Eigenschaft kann verwendet werden, um Kreisdiagramm-Segmenten Werte deklarativ zuzuweisen. Wenn die Eigenschaft gesetzt ist, erstellt die „pieseries“-Komponente automatisch für jeden Wert ein Kreisdiagramm-Segment. Die Beschriftungen für die Segmente können in „ sliceLabels “ angegeben werden.
Hinweis: Die Mischung aus deklarativer und imperativer Dateneingabe wird nicht unterstützt.
Diese Eigenschaft wurde in Qt 6.12 eingeführt.
Siehe auch sliceLabels.
sliceLabels : list<string> [since 6.12]
Deklarative Beschriftungen für Tortenstücke.
Diese Eigenschaft kann verwendet werden, um Kreisdiagramm-Segmenten deklarativ Beschriftungen zuzuweisen. Wenn die Eigenschaft gesetzt ist, legt die „pieseries“-Eigenschaft Beschriftungen für die deklarativ erstellten Kreisdiagramm-Segmente fest. Die Beschriftungen sollten in derselben Reihenfolge wie die Werte in „ sliceData “ stehen. Wenn nicht genügend deklarative Kreisdiagramm-Segmente vorhanden sind, werden die restlichen Beschriftungen ignoriert.
Hinweis: Die Mischung aus deklarativen und imperativen Dateneingaben wird nicht unterstützt.
Diese Eigenschaft wurde in Qt 6.12 eingeführt.
Siehe auch sliceData.
startAngle : real
Der Startwinkel des Kreises.
Ein vollständiger Kreis umfasst 360 Grad, wobei 0 Grad bei 12 Uhr liegt.
Der Standardwert ist 0.
sum : real [read-only]
Die Summe aller Slices.
Die Reihe erfasst die Summe aller darin enthaltenen Segmente.
verticalPosition : real
Die vertikale Position des Kreisdiagramms.
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).
Siehe auch horizontalPosition.
Signal-Dokumentation
added(list<PieSlice> slices)
Dieses Signal wird ausgelöst, wenn die durch „ slices “ angegebenen Schichten zur Serie hinzugefügt werden.
Hinweis: Der entsprechende Handler lautet „ onAdded “.
[since 6.10] angleSpanLabelVisibilityChanged(LabelVisibility visibility)
Dieses Signal wird ausgesendet, wenn der Modus für die sichtbare Winkelbereichsbegrenzung geändert wurde. Der Parameter „ visibility “ enthält den neuen sichtbaren Modus.
Hinweis: Der entsprechende Handler lautet „ onAngleSpanLabelVisibilityChanged “.
Dieses Signal wurde in Qt 6.10 eingeführt.
[since 6.10] angleSpanVisibleLimitChanged(real limit)
Dieses Signal wird ausgegeben, wenn der Grenzwert für den Winkelbereich geändert wurde. Der Parameter „ limit “ enthält den neuen Grenzwert.
Hinweis: Der entsprechende Handler ist „ onAngleSpanVisibleLimitChanged “.
Dieses Signal wurde in Qt 6.10 eingeführt.
clicked(PieSlice slice)
Dieses Signal wird ausgelöst, wenn auf „ slice “ geklickt oder getippt wird.
Hinweis: Der entsprechende Handler ist „ onClicked “.
countChanged()
Dieses Signal wird ausgelöst, wenn sich die Anzahl der Slices ändert.
Hinweis: Der entsprechende Handler lautet „ onCountChanged “.
Siehe auch count.
doubleClicked(PieSlice slice)
Dieses Signal wird ausgelöst, wenn ein Doppelklick oder ein Doppeltipp auf die „ slice “ erfolgt. Dieses Signal tritt immer nach dem Signal „ clicked “ auf.
Hinweis: Der entsprechende Handler ist „ onDoubleClicked “.
endAngleChanged()
Dieses Signal wird ausgegeben, wenn sich der Winkel am Ende des Stücks ändert.
Hinweis: Der entsprechende Handler lautet „ onEndAngleChanged “.
Siehe auch endAngle.
holeSizeChanged()
Dieses Signal wird ausgegeben, wenn sich die Größe des Donut-Lochs ändert.
Hinweis: Der entsprechende Handler lautet „ onHoleSizeChanged “.
Siehe auch holeSize.
horizontalPositionChanged()
Dieses Signal wird ausgegeben, wenn sich die horizontale Position ändert.
Hinweis: Der zugehörige Handler lautet „ onHorizontalPositionChanged “.
Siehe auch horizontalPosition.
pieSizeChanged()
Dieses Signal wird ausgesendet, wenn sich die Größe des Kreises ändert.
Hinweis: Der entsprechende Handler lautet „ onPieSizeChanged “.
Siehe auch pieSize.
pressed(PieSlice slice)
Dieses Signal wird ausgelöst, wenn der Benutzer auf „ slice “ klickt oder darauf tippt und die Maustaste oder die Geste gedrückt hält.
Hinweis: Der entsprechende Handler lautet „ onPressed “.
released(PieSlice slice)
Dieses Signal wird ausgelöst, wenn der Benutzer eine zuvor gedrückte Maustaste loslässt oder eine Geste auf dem „ slice “ ausführt.
Hinweis: Der entsprechende Handler ist „ onReleased “.
removed(list<PieSlice> slices)
Dieses Signal wird ausgelöst, wenn die durch „ slices “ angegebenen Schichten aus der Serie entfernt werden.
Hinweis: Der entsprechende Handler lautet „ onRemoved “.
[since 6.12] sliceDataChanged(list<real> sliceData)
Dieses Signal wird ausgelöst, wenn sich die Slice-Daten geändert haben. Der Parameter „ sliceData “ enthält die Slice-Daten.
Hinweis: Der entsprechende Handler ist „ onSliceDataChanged “.
Dieses Signal wurde in Qt 6.12 eingeführt.
[since 6.12] sliceLabelsChanged(list<string> sliceLabels)
Dieses Signal wird ausgelöst, wenn sich die Slice-Daten geändert haben. Der Parameter „ sliceLabels “ enthält die Slice-Daten.
Hinweis: Der entsprechende Handler ist „ onSliceLabelsChanged “.
Dieses Signal wurde in Qt 6.12 eingeführt.
startAngleChanged()
Dieses Signal wird ausgegeben, wenn sich der Startwinkel des Kreisdiagramms ändert.
Hinweis: Der entsprechende Handler lautet „ onStartAngleChanged “.
Siehe auch startAngle.
sumChanged()
Dieses Signal wird ausgegeben, wenn sich die Summe aller Slices ändert.
Hinweis: Der entsprechende Handler lautet „ onSumChanged “.
Siehe auch sum.
verticalPositionChanged()
Dieses Signal wird ausgegeben, wenn sich die vertikale Position ändert.
Hinweis: Der entsprechende Handler lautet „ onVerticalPositionChanged “.
Siehe auch verticalPosition.
Methodendokumentation
PieSlice append(string label, real value)
Fügt dem Kreisdiagramm einen neuen Sektor mit der Bezeichnung „ label “ und dem Wert „ value “ hinzu.
PieSlice at(int index)
Gibt den Ausschnitt an der durch ` index` angegebenen Position zurück. Gibt `null` zurück, wenn der Index ungültig ist.
void clear()
Entfernt alle Stücke aus dem Kuchen.
PieSlice find(string label)
Gibt den ersten Ausschnitt zurück, der die Bezeichnung „ label “ trägt. Gibt „null“ zurück, wenn die Bezeichnung nicht gefunden wird.
bool remove(PieSlice slice)
Entfernt den durch slice angegebenen Sektor aus dem Kreisdiagramm. Gibt true zurück, wenn das Entfernen erfolgreich war, andernfalls false.
bool remove(int index)
Entfernt den durch ` index ` angegebenen Sektor aus dem Kreisdiagramm. Gibt ` true ` zurück, wenn das Entfernen erfolgreich war, andernfalls ` false `.
void removeMultiple(int index, int count)
Entfernt eine Reihe von Slices, wie durch die Parameter „ index “ und „ count “ angegeben. Der Aufruf durchläuft alle Slices, auch wenn das Entfernen eines einzelnen Slices fehlschlägt.
bool replace(list<PieSlice> slices)
Ersetzt alle aktuellen Slices vollständig durch slices. Die Größe muss nicht übereinstimmen. Gibt „false“ zurück, wenn eine der PieSlice in slices ungültig ist.
bool replace(PieSlice oldSlice, PieSlice newSlice)
Ersetzt den durch „ oldSlice “ angegebenen Ausschnitt durch „newSlice“. Gibt „ true “ zurück, wenn das Entfernen erfolgreich war, andernfalls „ false “. „ oldSlice “ wird bei Erfolg gelöscht.
bool replace(int index, PieSlice slice)
Ersetzt das durch slice angegebene Segment des Kreisdiagramms unter index. Gibt true zurück, wenn das Ersetzen erfolgreich war, andernfalls false.
bool take(PieSlice slice)
Entnimmt einen einzelnen Ausschnitt, der durch ` slice` angegeben wird, aus der Reihe. Das Ausschnitt-Objekt wird dabei nicht gelöscht. Gibt bei Erfolg ` true ` zurück.
© 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.