Auf dieser Seite

StyledItem QML Type

Zeigt ein „ DelegateStyle “ an. Mehr…

Import Statement: import Qt.labs.StyleKit
Inherits:

Item

Status: Technology preview

Dieser Typ befindet sich in der Technologievorschau und kann sich noch ändern.

Eigenschaften

Ausführliche Beschreibung

StyledItem rendert ein „ DelegateStyle “. Es liest Eigenschaften wie „ color “, „ border “, „ gradient “ und „ image “ aus und erstellt intern die entsprechenden visuellen Elemente.

Wenn der für ein „ DelegateStyle “ festgelegte „ delegate “ der Wert „ null “ ist (Standard), wird „StyledItem“ automatisch für die Darstellung verwendet.

Ein benutzerdefiniertes „ delegate “ kann für jedes „Item“ festgelegt werden. In Kombination mit einem „StyledItem“ können Sie jedoch die Standarddarstellung beibehalten und gleichzeitig Overlay-, Underlay- oder Shader-Effekte hinzufügen. Der folgende Codeausschnitt zeigt, wie ein zusätzliches „Item“ über dem Standard-Delegaten gezeichnet wird:

Style {
    component Star : Shape {
        id: star
        property color color
        ShapePath {
            fillColor: star.color
            scale: Qt.size(star.width, star.height)
            PathMove { x: 0.50; y: 0.00 }
            PathLine { x: 0.59; y: 0.35 }
            PathLine { x: 0.97; y: 0.35 }
            PathLine { x: 0.66; y: 0.57 }
            PathLine { x: 0.78; y: 0.91 }
            PathLine { x: 0.50; y: 0.70 }
            PathLine { x: 0.22; y: 0.91 }
            PathLine { x: 0.34; y: 0.57 }
            PathLine { x: 0.03; y: 0.35 }
            PathLine { x: 0.41; y: 0.35 }
            PathLine { x: 0.50; y: 0.00 }
        }
    }

    button {
        background.delegate: StyledItem {
            width: parent.width
            height: parent.height
            // Draw a star on top the default rendering
            Star {
                anchors.fill: parent
                color: "gold"
            }
        }
    }
}

Hinweis: Es kann nicht garantiert werden, dass die Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Weitere Beispiele für Overlays, Underlays und Shader-Effekte finden Sie im Beispiel „StyleKit Quick Controls“.

Siehe auch DelegateStyle, delegate und data.

Dokumentation zu den Eigenschaften

delegateStyle : DelegateStyle

Die „ DelegateStyle “, die dieses Element darstellt.

Diese Eigenschaft ist erforderlich. Wenn „ StyledItem “ das Stammelement eines „ delegate “ ist, wird sie automatisch gesetzt. Wird es jedoch als untergeordnetes Element innerhalb eines benutzerdefinierten Delegaten verwendet, muss es explizit gesetzt werden.

Der folgende Codeausschnitt verwendet einen benutzerdefinierten Delegaten, der unterhalb des Standard-Schiebereglers einen Stern zeichnet. Da das Stammelement kein „ StyledItem “ ist, deklariert er die erforderliche Eigenschaft „ delegateStyle “ (die automatisch zugewiesen wird) und leitet sie an das untergeordnete Element „ StyledItem “ weiter:

Style {
    component Star : Shape {
        id: star
        property color color
        ShapePath {
            fillColor: star.color
            scale: Qt.size(star.width, star.height)
            PathMove { x: 0.50; y: 0.00 }
            PathLine { x: 0.59; y: 0.35 }
            PathLine { x: 0.97; y: 0.35 }
            PathLine { x: 0.66; y: 0.57 }
            PathLine { x: 0.78; y: 0.91 }
            PathLine { x: 0.50; y: 0.70 }
            PathLine { x: 0.22; y: 0.91 }
            PathLine { x: 0.34; y: 0.57 }
            PathLine { x: 0.03; y: 0.35 }
            PathLine { x: 0.41; y: 0.35 }
            PathLine { x: 0.50; y: 0.00 }
        }
    }

    slider.handle.delegate: Item {
        // Since the root item is not a StyledItem, the following
        // required properties must be defined explicitly:
        required property DelegateStyle delegateStyle
        required property QtObject control

        implicitWidth: delegateStyle.width
        implicitHeight: delegateStyle.height
        width: parent.width
        height: parent.height
        scale: delegateStyle.scale
        rotation: delegateStyle.rotation
        visible: delegateStyle.visible

        // Draw a star underneath the default handle delegate
        Star {
            width: parent.width * 2
            height: parent.height * 2
            anchors.centerIn: parent
            color: "gold"
        }

        StyledItem {
            // Forward delegateStyle into StyledItem. StyledItem doesn't
            // use 'control' for anything, so it can be omitted.
            delegateStyle: parent.delegateStyle
        }
    }
}

Siehe auch „ DelegateStyle “, „ delegate “ und „ data “.

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