Auf dieser Seite

ShapePath QML Type

Beschreibt einen Pfad und die zugehörigen Eigenschaften für Kontur und Füllung. Mehr...

Import Statement: import QtQuick.Shapes 1.12
Inherits:

Path

Eigenschaften

Ausführliche Beschreibung

Ein „ Shape “ enthält ein oder mehrere „ShapePath“-Elemente. Mindestens ein „ShapePath“ ist erforderlich, damit ein „Shape“ etwas Sichtbares ausgeben kann. Ein „ShapePath“ selbst ist ein „ Path “ mit zusätzlichen Eigenschaften, die die Parameter für Kontur und Füllung beschreiben, wie beispielsweise die Strichbreite und -farbe, die Füllfarbe oder den Farbverlauf, Verbindungs- und Endstil usw. Wie bei gewöhnlichen „ Path “-Objekten enthält auch ein „ShapePath“ eine Liste von Pfadelementen wie „ PathMove “, „ PathLine “, „ PathCubic “, „ PathQuad “, „ PathArc “ sowie eine Startposition.

Jede Änderung der Eigenschaften in diesen Datensätzen wird weitergegeben und verändert die Darstellung der Form. Das bedeutet, dass es einfach und unkompliziert ist, die Start- und Endposition, Kontrollpunkte oder beliebige Strich- und Füllparameter mithilfe der üblichen QML-Bindungen und Animationstypen wie „ NumberAnimation “ zu ändern oder sogar zu animieren.

Im folgenden Beispiel ändert sich der Verbindungsstil der Linie automatisch je nach Wert von `joinStyleIndex`:

ShapePath {
    strokeColor: "black"
    strokeWidth: 16
    fillColor: "transparent"
    capStyle: ShapePath.RoundCap

    property int joinStyleIndex: 0

    property variant styles: [
        ShapePath.BevelJoin,
        ShapePath.MiterJoin,
        ShapePath.RoundJoin
    ]

    joinStyle: styles[joinStyleIndex]

    startX: 30
    startY: 30
    PathLine { x: 100; y: 100 }
    PathLine { x: 30; y: 100 }
}

Nach der Verknüpfung mit einer Form sieht die Darstellung bei einem `joinStyleIndex` von 2 (ShapePath.RoundJoin) wie folgt aus:

Schwarze, schräg verlaufende Linie mit abgerundeter Ecke

Siehe auch „Qt Quick -Beispiele – Formen“, „Beispiel zur Wettervorhersage“ und „ Shape “.

Dokumentation zu den Eigenschaften

capStyle : enumeration

Diese Eigenschaft legt fest, wie die Endpunkte von Linien gezeichnet werden. Der Standardwert ist „ ShapePath.SquareCap “.

KonstanteBeschreibung
ShapePath.FlatCapEin quadratisches Linienende, das den Endpunkt der Linie nicht überdeckt.
ShapePath.SquareCapEin eckiges Linienende, das den Endpunkt überdeckt und um die Hälfte der Linienbreite darüber hinausragt.
ShapePath.RoundCapEin abgerundeter Linienabschluss.

cosmeticStroke : bool [since 6.11]

Diese Eigenschaft legt fest, ob die Strichbreite unabhängig vom Darstellungsmaßstab konstant bleibt.

Wenn diese Eigenschaft auf „ true “ gesetzt ist, wird der Umriss der Form mit konstanter Breite in geräteunabhängigen Pixeln gezeichnet, wie durch „ strokeWidth “ festgelegt, unabhängig von etwaigen auf die Form angewendeten Transformationen wie beispielsweise „ QtQuick::Item::scale “.

Der Standardwert ist „ false “.

Diese Eigenschaft wurde in Qt 6.11 eingeführt.

Siehe auch „ strokeWidth “.

dashOffset : real

Diese Eigenschaft definiert den Startpunkt des Strichmusters, gemessen in den Einheiten, die zur Festlegung des Strichmusters verwendet werden.

Der Standardwert lautet „ 0 “.

Siehe auch ` QPen::setDashOffset()`.

dashPattern : list<real>

Diese Eigenschaft legt das Strichmuster fest, wenn „ strokeStyle “ auf „ ShapePath.DashLine“ gesetzt ist. Das Muster muss als gerade Anzahl positiver Einträge angegeben werden, wobei die Einträge 1, 3, 5… die Striche und 2, 4, 6… die Leerzeichen darstellen. Das Muster wird in Einheiten der Stiftbreite angegeben.

Der Standardwert ist (4, 2), was bedeutet, dass ein Strich von 4 * strokeWidth Pixeln auf einen Abstand von 2 * strokeWidth Pixeln folgt.

Siehe auch ` QPen::setDashPattern()`.

fillColor : color

Diese Eigenschaft legt die Füllfarbe fest.

Wenn der Wert auf „ transparent “ gesetzt ist, erfolgt keine Füllung.

Der Standardwert ist „ white “.

Hinweis: Wenn entweder „ fillGradient “ oder „ fillItem “ auf einen anderen Wert als „ null “ gesetzt sind, haben diese Vorrang vor „ fillColor “. „ fillColor “ wird in diesem Fall ignoriert.

fillGradient : ShapeGradient

Diese Eigenschaft definiert den Füllverlauf. Standardmäßig ist kein Verlauf aktiviert und der Wert lautet „ null “. In diesem Fall richtet sich die Füllung entweder nach der Eigenschaft „ fillItem “, sofern diese festgelegt ist, andernfalls wird die Eigenschaft „ fillColor “ verwendet.

Hinweis: Der Typ „Gradient“ kann hier nicht verwendet werden. Verwenden Sie stattdessen lieber einen der erweiterten Untertypen, wie z. B. „ LinearGradient “.

Hinweis: Wenn ein anderer Wert als „ null “ festgelegt ist, hat die Eigenschaft „ fillGradient “ Vorrang vor den Eigenschaften „ fillItem “ und „ fillColor “.

Standardmäßig können bis zu 256 verschiedene Farbverläufe gleichzeitig angezeigt werden. Diese Begrenzung kann mit der Umgebungsvariable „ QT_QUICKSHAPES_MAX_GRADIENTS “ angepasst werden.

fillItem : Item [since 6.8]

Diese Eigenschaft definiert ein weiteres „ Qt Quick “-Element, das von der Form als Füllung verwendet werden soll. Das Element muss ein Textur-Provider sein (z. B. ein „ layered item “, ein „ ShaderEffectSource “ oder ein „ Image “). Handelt es sich nicht um einen gültigen Textur-Provider, wird diese Eigenschaft ignoriert.

Das visuelle übergeordnete Element von „ fillItem “ muss ein „ Qt Quick “ oder „ Item “ sein. Da „ ShapePath “ kein „ Item “ ist, können seine untergeordneten Elemente insbesondere nicht als Füllelemente verwendet werden. Das übergeordnete Element von „ fillItem “ muss manuell festgelegt werden, wenn es als untergeordnetes Element von „ ShapePath “ erstellt wird.

Wird beispielsweise ein „ Image “-Objekt direkt in der Eigenschaftszuweisung „ fillItem “ erstellt, wird es zu einem untergeordneten Element von „ ShapePath “. In diesem Fall muss das übergeordnete Element manuell festgelegt werden. Im folgenden Beispiel verwenden wir das „ contentItem “ des Fensters als übergeordnetes Element.

fillItem: Image {
    visible: false
    source: "contents.png"
    parent: window.contentItem
}

Hinweis: Wenn Sie ein überlagertes Element als „ fillItem “ verwenden, können beim Transformieren der Füllung Pixelierungseffekte auftreten. Das Setzen der Eigenschaft „ layer.smooth “ auf „true“ führt in diesem Fall zu besseren visuellen Ergebnissen.

Standardmäßig ist kein Füllelement festgelegt und der Wert lautet „ null “.

Hinweis: Wenn der Wert auf etwas anderes als „ null “ gesetzt ist, hat die Eigenschaft „ fillItem “ Vorrang vor „ fillColor “. Die Eigenschaft „ fillGradient “ hat wiederum Vorrang vor sowohl „ fillItem “ als auch „ fillColor “.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

fillRule : enumeration

Diese Eigenschaft enthält die Füllregel. Der Standardwert lautet „ ShapePath.OddEvenFill “. Eine Erläuterung zu Füllregeln finden Sie unter QPainterPath::setFillRule().

KonstanteBeschreibung
ShapePath.OddEvenFillFüllregel „ungerade-gerade“.
ShapePath.WindingFillFüllregel „Nicht-Null-Wicklung“.

fillTransform : matrix4x4 [since 6.8]

Diese Eigenschaft definiert eine Transformation, die auf das Füllmuster des Pfades angewendet werden soll (fillGradient oder fillItem). Sie hat keine Auswirkung, wenn die Füllung einfarbig oder transparent ist. Standardmäßig ist keine Fülltransformation aktiviert, und der Wert dieser Eigenschaft ist die Matrix „ identity “.

Dieses Beispiel zeigt ein Rechteck, das mit dem Inhalt von myImageItem gefüllt ist, der um 45 Grad um den Mittelpunkt von myShape gedreht wurde:

ShapePath {
    fillItem: myImageItem
    fillTransform: PlanarTransform.fromRotate(45, myShape.width / 2, myShape.height / 2)
    PathRectangle { x: 10; y: 10; width: myShape.width - 20; height: myShape.height - 20 }
}

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

joinStyle : enumeration

Diese Eigenschaft legt fest, wie Verbindungslinien zwischen zwei verbundenen Linien gezeichnet werden. Der Standardwert ist „ ShapePath.BevelJoin “.

KonstanteBeschreibung
ShapePath.MiterJoinDie Außenkanten der Linien werden so verlängert, dass sie sich in einem Winkel treffen, und dieser Bereich wird ausgefüllt.
ShapePath.BevelJoinDie dreieckige Aussparung zwischen den beiden Linien wird ausgefüllt.
ShapePath.RoundJoinEin Kreisbogen zwischen den beiden Linien wird ausgefüllt.

miterLimit : int

Wenn „ joinStyle “ auf „ ShapePath.MiterJoin “ gesetzt ist, legt diese Eigenschaft fest, wie weit sich die Gehrungsfuge vom Verbindungspunkt aus erstrecken darf.

Der Standardwert beträgt 2.

pathHints : PathHints [since 6.7]

Diese Eigenschaft beschreibt Merkmale der Form. Wenn diese Hinweise gesetzt sind, ermöglichen sie möglicherweise eine optimierte Darstellung. Standardmäßig sind keine Hinweise gesetzt. Es kann sich um eine Kombination der folgenden Werte handeln:

KonstantBeschreibung
ShapePath.PathLinearDer Pfad besteht ausschließlich aus geraden Linien, ohne Kurven.
ShapePath.PathQuadraticDer Pfad enthält keine kubischen Kurven: nur Geraden und quadratische Bézier-Kurven.
ShapePath.PathConvexDer Pfad weist keine Vertiefungen oder Löcher auf. Alle geraden Linien zwischen zwei Punkten innerhalb der Form liegen vollständig innerhalb der Form.
ShapePath.PathFillOnRightDer Pfad folgt der TrueType-Konvention, wonach die Kontrollpunkte von Konturen um ausgefüllte Bereiche im Uhrzeigersinn angeordnet sind, während die Kontrollpunkte von Konturen um Lücken in der Form gegen den Uhrzeigersinn angeordnet sind.
ShapePath.PathSolidDer Pfad weist keine Löcher auf, oder mathematisch ausgedrückt: Er ist einfach zusammenhängend.
ShapePath.PathNonIntersectingDer Pfadumriss kreuzt sich nicht selbst.
ShapePath.PathNonOverlappingControlPointTrianglesDie durch die Kurvenkontrollpunkte definierten Dreiecke überlappen sich weder untereinander noch mit einem der Liniensegmente. Außerdem schneiden sich keine Liniensegmente. Dies impliziert „ PathNonIntersecting “.

Nicht alle Hinweise sind logisch unabhängig, aber die Abhängigkeiten werden nicht erzwungen. Beispielsweise impliziert „ PathLinear “, dass „ PathQuadratic “ gilt, aber es ist zulässig, dass „ PathLinear “ gilt, ohne dass „ PathQuadratic “ gilt.

Die Eigenschaft „pathHints“ beschreibt eine Menge von Aussagen, von denen bekannt ist, dass sie wahr sind; das Fehlen eines Hinweises bedeutet nicht zwangsläufig, dass die entsprechende Aussage falsch ist.

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

strokeColor : color

Diese Eigenschaft legt die Farbe für die Striche fest.

Wenn sie auf „ transparent “ gesetzt ist, erfolgt keine Konturierung. Wenn die Eigenschaft „ strokeGradient “ festgelegt ist, hat sie Vorrang vor „ strokeColor “.

Der Standardwert ist „ white “.

strokeGradient : ShapeGradient [since 6.12]

Diese Eigenschaft definiert den Farbverlauf der Kontur. Standardmäßig ist kein Farbverlauf aktiviert und der Wert lautet „ null “. In diesem Fall richtet sich die Kontur nach der Eigenschaft „ strokeColor “.

Hinweis: Der Typ „Gradient“ kann hier nicht verwendet werden. Verwenden Sie stattdessen lieber einen der erweiterten Untertypen, wie z. B. „ LinearGradient “.

Hinweis: Wenn ein anderer Wert als „ null “ festgelegt wird, hat die Eigenschaft „ strokeGradient “ Vorrang vor „ strokeColor “.

Standardmäßig können bis zu 256 verschiedene Farbverläufe gleichzeitig angezeigt werden. Diese Obergrenze lässt sich mit der Umgebungsvariablen „ QT_QUICKSHAPES_MAX_GRADIENTS “ anpassen.

Diese Eigenschaft wurde in Qt 6.12 eingeführt.

strokeStyle : enumeration

Diese Eigenschaft legt den Stil der Linienführung fest. Der Standardwert lautet „ ShapePath.SolidLine“.

KonstanteBeschreibung
ShapePath.SolidLineEine durchgezogene Linie.
ShapePath.DashLineDurch einige Pixel voneinander getrennte Striche.

strokeWidth : real

Diese Eigenschaft legt die Strichbreite fest.

Wird ein negativer Wert festgelegt, erfolgt keine Konturzeichnung.

Der Standardwert ist 1.

Siehe auch „ cosmeticStroke “.

trim group

trim.end : real [since 6.10]

trim.offset : real [since 6.10]

trim.start : real [since 6.10]

Legt den Abschnitt dieses Pfades fest, der angezeigt wird.

Der Abschnitt wird durch die Pfadlängenanteile „ start “ und „ end “ definiert. Standardmäßig ist „ start “ gleich 0 (bezeichnet den Anfang des Pfads) und „ end “ gleich 1 (bezeichnet das Ende des Pfads), sodass der gesamte Pfad angezeigt wird.

Der Wert von ` offset ` wird zu ` start ` und ` end` addiert. Wenn dadurch der Bereich [0, 1] überschritten oder unterschritten wird, werden die Werte umgebrochen, ebenso wie der resultierende Pfadabschnitt. Der effektive Bereich von ` offset ` liegt zwischen -1 und 1. Der Standardwert ist 0.

Diese Eigenschaften wurden in Qt 6.10 eingeführt.

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