StyledItem QML Type
Zeigt ein „ DelegateStyle “ an. Mehr…
| Import Statement: | import Qt.labs.StyleKit |
| Inherits: | |
| Status: | Technology preview |
Dieser Typ befindet sich in der Technologievorschau und kann sich noch ändern.
Eigenschaften
- delegateStyle : DelegateStyle
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.