CustomControl QML Type
Definiert das Styling für ein benutzerdefiniertes (nicht eingebautes) Steuerelement. Mehr...
| Import Statement: | import Qt.labs.StyleKit |
| Inherits: |
Eigenschaften
- controlType : int
Detaillierte Beschreibung
Mit CustomControl können Sie Steuerelemente definieren und gestalten, die nicht Teil von Qt Quick Controls sind. Dies ist praktisch, wenn Sie zusätzliche Steuerelemente oder Komponenten haben, die entsprechend der aktiven Style und Theme gestylt werden sollen.
Wie die eingebauten Steuerelementtypen (wie abstractButton, pane und slider) erbt CustomControl ControlStyle. Im Gegensatz zu eingebauten Typen, die implizit mit ihrem Steuerelementtyp verbunden sind, muss für ein CustomControl controlType explizit festgelegt werden. Abgesehen davon funktionieren sie auf die gleiche Weise.
Ein Style oder Theme kann so viele benutzerdefinierte Steuerelemente definieren, wie benötigt werden, und ein CustomControl in einem Thema kann dasselbe controlType haben wie eines im Style. Das unterscheidet sich nicht davon, dass beispielsweise ein slider sowohl vom Style als auch vom Theme gestylt wird. Die Fallback-Logik ist dieselbe.
Alle Stileigenschaften, die nicht für ein CustomControl festgelegt wurden, werden auf die für control festgelegten zurückgeführt.
Der folgende Ausschnitt zeigt, wie das Styling für ein benutzerdefiniertes Steuerelement definiert wird:
// MyStyle.qml Style { id: style readonly property int myControlType: 0 CustomControl { controlType: style.myControlType background { implicitWidth: 120 implicitHeight: 30 radius: 0 } hovered.background.color: "lightslategray" pressed.background.color: "skyblue" } }
Und das folgende Snippet zeigt ein Beispiel für die Implementierung eines benutzerdefinierten Steuerelements, das dieses verwendet:
// Main.qml component MyControl : Rectangle { StyleReader { id: styleReader controlType: StyleKit.style.myControlType hovered: hoverHandler.hovered pressed: tapHandler.pressed palette: app.palette } HoverHandler { id: hoverHandler } TapHandler { id: tapHandler } implicitWidth: styleReader.background.implicitWidth implicitHeight: styleReader.background.implicitHeight color: styleReader.background.color radius: styleReader.background.radius Text { font: styleReader.font anchors.centerIn: parent text: "ok" } }
Hinweis: Es ist nicht garantiert, dass Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.
Siehe auch StyleReader, ControlStyle, und Style.
Dokumentation der Eigenschaft
controlType : int
Eine eindeutige Ganzzahl, die diesen benutzerdefinierten Steuertyp identifiziert. Setzen Sie denselben Wert auf StyleReader.controlType in Ihrer Implementierung des benutzerdefinierten Steuerelements, um es mit dieser Stildefinition zu verbinden.
Benutzerdefinierte Steuerelementtypen müssen im Bereich 0 bis 100000 liegen.
Siehe auch StyleReader.controlType.
© 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.