Auf dieser Seite

PieSlice QML Type

Stellt einen einzelnen Abschnitt in einer Kreisdiagrammreihe dar. Mehr...

Import Statement: import QtGraphs
In C++: QPieSlice

Eigenschaften

Signale

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(PieSlice oldSlice, PieSlice newSlice)
  • bool replace(int index, PieSlice slice)
  • bool replaceAll(list<PieSlice> slices)
  • bool take(PieSlice slice)

Ausführliche Beschreibung

Ein Kreisdiagrammsektor verfügt über einen Wert und eine Beschriftung. Wenn der Sektor zu einer Kreisdiagrammreihe hinzugefügt wird, berechnet der Typ „ PieSeries “ den prozentualen Anteil des Sektors im Vergleich zur Summe aller Sektoren der Reihe, um die tatsächliche Größe des Sektors im Diagramm zu bestimmen.

Standardmäßig ist die Beschriftung ausgeblendet. Ist sie sichtbar, kann sie entweder außerhalb des Segments platziert 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.

Der Typ „PieSlice“ sollte als untergeordneter Element eines „ PieSeries “-Typs verwendet werden. Beispiel:

PieSeries {
    PieSlice {
        label: "example"
        value: 1
    }
}

Alternativ können Segmente mithilfe der Methode ` PieSeries.append()` zu einer Kreisserie hinzugefügt werden.

In diesem Fall können die Methoden „ PieSeries.at()“ oder „ PieSeries.find()“ verwendet werden, um auf die Eigenschaften einer einzelnen „PieSlice“-Instanz zuzugreifen.

Ein Kreisdiagrammsegment kann Untersegmente enthalten.

PieSeries {
    PieSlice {
        label: "example"
        value: 1
        color: "orange"
        exploded: true
        PieSlice {
            label: "example2"
            value: 2
            color: "red"
        }
        PieSlice {
            label: "example3"
            value: 3
            color: "yellow"
            exploded: true
        }
    }
    PieSlice {
        label: "example4"
        value: 4
        color: "green"
    }
}

Ein Tortenstück wird in zwei Teilstücke geteilt

Siehe auch „ PieSeries “.

Dokumentation zu den Eigenschaften

angleSpan : real [read-only]

Der Winkelbereich des Segments in Grad. 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.

borderColor : color

Die Farbe, die zum Zeichnen des Schnittbereichsrandes verwendet wird.

Siehe auch „ borderWidth “.

borderWidth : real

Die Breite des Slice-Rahmens. Dies ist eine Komfort-Eigenschaft zum Anpassen der Breite des Slice-Rahmens.

Siehe auch „ borderColor “.

color : color

Die Füllfarbe des Segments.

explodeDistanceFactor : real

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

Siehe auch exploded.

exploded : bool

Ob das Stück vom Kuchen getrennt ist.

Siehe auch explodeDistanceFactor.

label : string

Die Bezeichnung der Scheibe.

Hinweis: Die Zeichenfolge kann HTML-formatiert sein.

labelArmLengthFactor : real

Die Länge des Beschriftungsarms. 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 halb so groß ist wie der Radius.

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

Siehe auch labelVisible.

labelColor : color

Die Farbe, mit der die Beschriftung des Ausschnitts gezeichnet wird.

labelFont : font

Die für die Scheibenbeschriftung verwendete Schriftart.

Weitere Informationen finden Sie unter font.

Siehe auch labelVisible und labelPosition.

labelPosition : enumeration

Beschreibt die Position der Schnittbezeichnung.

KonstanteBeschreibung
PieSlice.LabelPosition.OutsideDie Beschriftung befindet sich außerhalb des damit verbundenen Schnitts und ist durch einen Arm mit diesem verbunden. Dies ist der Standardwert.
PieSlice.LabelPosition.InsideHorizontalDie Beschriftung ist innerhalb des Segments zentriert und horizontal ausgerichtet.
PieSlice.LabelPosition.InsideTangentialDie Beschriftung ist innerhalb des Schnitts zentriert und so gedreht, dass sie parallel zur Tangente des Schnittbogens verläuft.
PieSlice.LabelPosition.InsideNormalDie Beschriftung wird innerhalb des Schnitts zentriert und so gedreht, dass sie parallel zur Normalen des Schnittbogens verläuft.

Siehe auch „ labelVisible “.

labelVisible : bool

Die Sichtbarkeit der Schnittbezeichnung. Standardmäßig ist die Bezeichnung nicht sichtbar.

percentage : real [read-only]

Der prozentuale Anteil des Segments im Vergleich zur Summe aller Segmente der Reihe. Der tatsächliche Wert liegt zwischen 0,0 und 1,0. Wird automatisch aktualisiert, sobald das Segment zur Reihe hinzugefügt wird.

startAngle : real [read-only]

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

subSlicesCount : int [read-only]

Die Anzahl der Teilschnitte im Schnitt.

subSlicesSum : real [read-only]

Die Summe aller Teilscheiben.

Das Segment verfolgt die Summe aller darin enthaltenen Teilschnitte.

value : real

Der Wert des Segments.

Hinweis: Ein negativer Wert wird in einen positiven Wert umgewandelt.

Signal-Dokumentation

angleSpanChanged()

Dieses Signal wird ausgegeben, wenn sich der Winkelbereich der Schicht ändert.

Hinweis: Der entsprechende Handler lautet „ onAngleSpanChanged “.

Siehe auch angleSpan.

borderColorChanged()

Dieses Signal wird ausgelöst, wenn sich die Farbe der Scheibenbegrenzung ändert.

Hinweis: Der entsprechende Handler lautet „ onBorderColorChanged “.

Siehe auch borderColor.

borderWidthChanged()

Dieses Signal wird ausgelöst, wenn sich die Breite der Slice-Grenze ändert.

Hinweis: Der entsprechende Handler ist onBorderWidthChanged.

Siehe auch borderWidth.

colorChanged()

Dieses Signal wird ausgelöst, wenn sich die Farbe des Slices ändert.

Hinweis: Der entsprechende Handler lautet „ onColorChanged “.

explodeDistanceFactorChanged()

Dieses Signal wird ausgelöst, wenn sich der Explosionsabstandsfaktor ändert.

Hinweis: Der entsprechende Handler lautet „ onExplodeDistanceFactorChanged “.

Siehe auch explodeDistanceFactor.

explodedChanged()

Dieses Signal wird ausgelöst, wenn sich die Eigenschaft „exploded“ ändert.

Hinweis: Der entsprechende Handler lautet „ onExplodedChanged “.

Siehe auch exploded.

labelArmLengthFactorChanged()

Dieses Signal wird ausgegeben, wenn sich der Längenfaktor des Beschriftungsarms ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelArmLengthFactorChanged “.

Siehe auch labelArmLengthFactor.

labelChanged()

Dieses Signal wird ausgelöst, wenn sich die Slice-Bezeichnung ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelChanged “.

Siehe auch label.

labelColorChanged()

Dieses Signal wird ausgelöst, wenn sich die Farbe der Schnittbezeichnung ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelColorChanged “.

Siehe auch labelColor.

labelFontChanged()

Dieses Signal wird ausgelöst, wenn sich die Schriftart der Beschriftung des Slices ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelFontChanged “.

Siehe auch labelFont.

labelFontChanged()

Dieses Signal wird ausgelöst, wenn sich die Schriftart der Beschriftung ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelFontChanged “.

Siehe auch labelFont.

labelPositionChanged()

Dieses Signal wird ausgegeben, wenn sich die Position der Beschriftung ändert.

Hinweis: Der entsprechende Handler lautet „ onLabelPositionChanged “.

Siehe auch labelPosition.

labelVisibleChanged()

Dieses Signal wird ausgelöst, wenn sich die Sichtbarkeit der Slice-Bezeichnung ändert.

Hinweis: Der entsprechende Handler ist „ onLabelVisibleChanged “.

Siehe auch labelVisible.

percentageChanged()

Dieses Signal wird ausgegeben, wenn sich der prozentuale Anteil des Ausschnitts ändert.

Hinweis: Der entsprechende Handler lautet „ onPercentageChanged “.

Siehe auch percentage.

startAngleChanged()

Dieses Signal wird ausgegeben, wenn sich der Startwinkel der Schicht ändert.

Hinweis: Der entsprechende Handler ist „ onStartAngleChanged “.

Siehe auch „ startAngle “.

subSlicesAdded(list<PieSlice> slices)

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

Hinweis: Der entsprechende Handler lautet „ onSubSlicesAdded “.

subSlicesCountChanged(qsizetype count)

Dieses Signal wird ausgegeben, wenn sich die Teilscheiben unter count ändern.

Hinweis: Der zugehörige Handler ist „ onSubSlicesCountChanged “.

Siehe auch „ subSlicesCount “.

subSlicesRemoved(list<PieSlice> slices)

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

Hinweis: Der entsprechende Handler lautet „ onSubSlicesRemoved “.

subSlicesSumChanged(qreal sum)

Dieses Signal wird ausgelöst, wenn sich der sum aller Teilschnitte ändert.

Hinweis: Der entsprechende Handler lautet „ onSubSlicesSumChanged “.

Siehe auch „ subSlicesSum “.

valueChanged()

Dieses Signal wird ausgelöst, wenn sich der Slice-Wert ändert.

Hinweis: Der entsprechende Handler lautet „ onValueChanged “.

Siehe auch value.

Methodendokumentation

PieSlice append(string label, real value)

Fügt dem Slice ein neues Teilslice mit der Bezeichnung „ label “ und dem Wert „ value “ hinzu.

PieSlice at(int index)

Gibt den Teilbereich an der durch ` index` angegebenen Position zurück. Gibt `null` zurück, wenn der Index ungültig ist.

void clear()

Entfernt alle Teilschnitte aus dem Schnitt.

PieSlice find(string label)

Gibt den ersten Teilbereich 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 Teilschnitt aus dem Schnitt. Gibt ` true ` zurück, wenn das Entfernen erfolgreich war, andernfalls ` false `.

bool remove(int index)

Entfernt den durch ` index ` angegebenen Teilschnitt aus dem Schnitt. Gibt ` true ` zurück, wenn das Entfernen erfolgreich war, andernfalls ` false `.

void removeMultiple(int index, int count)

Entfernt eine Reihe von Teilsegmenten, wie durch die Parameter „ index “ und „ count “ angegeben. Der Aufruf durchläuft alle Teilsegmente, auch wenn das Entfernen eines einzelnen Teilsegments fehlschlägt.

bool replace(PieSlice oldSlice, PieSlice newSlice)

Ersetzt den durch ` oldSlice ` angegebenen Teilbereich durch ` newSlice`. Gibt ` true ` zurück, wenn das Ersetzen erfolgreich war, andernfalls ` false `. ` oldSlice ` wird gelöscht, wenn es erfolgreich ersetzt wurde.

bool replace(int index, PieSlice slice)

Ersetzt den durch slice angegebenen Teilausschnitt aus dem Ausschnitt unter index. Gibt true zurück, wenn das Ersetzen erfolgreich war, andernfalls false.

bool replaceAll(list<PieSlice> slices)

Ersetzt alle aktuellen Teilbereiche vollständig durch slices. Die Größe muss nicht übereinstimmen. Gibt „false“ zurück, wenn eine der PieSlice in slices ungültig ist.

bool take(PieSlice slice)

Entnimmt einen einzelnen Teilschnitt, der durch ` slice` angegeben wird, aus dem Schnitt. Das Teilschnitt-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.