CustomControl QML Type
Définit le style d'un contrôle personnalisé (non intégré). Plus d'informations...
| Import Statement: | import Qt.labs.StyleKit |
| Inherits: |
Propriétés
- controlType : int
Description détaillée
CustomControl vous permet de définir et de styliser des contrôles qui ne font pas partie de Qt Quick Controls. C'est pratique si vous avez des contrôles ou des composants supplémentaires qui doivent être stylisés en fonction des contrôles actifs Style et Theme.
Comme les types de contrôles intégrés (tels que abstractButton, pane et slider), CustomControl hérite de ControlStyle. Contrairement aux types intégrés, qui sont implicitement liés à leur type de contrôle, un CustomControl nécessite que controlType soit défini explicitement. À part cela, ils fonctionnent exactement de la même manière.
Un Style ou un Theme peut définir autant de contrôles personnalisés que nécessaire, et un CustomControl dans un thème peut avoir le même controlType qu'un autre dans le Style. Cela n'est pas différent, par exemple, d'un slider stylé à la fois par le Style et le Theme. La logique de repli est la même.
Toutes les propriétés de style non définies sur un CustomControl sont remplacées par celles définies sur un control.
L'extrait suivant montre comment définir le style d'un contrôle personnalisé :
// 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" } }
Et l'extrait suivant montre un exemple de mise en œuvre d'un contrôle personnalisé qui l'utilise :
// 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" } }
Note : La compatibilité des types dans les modules Qt.labs n'est pas garantie dans les versions futures.
Voir aussi StyleReader, ControlStyle, et Style.
Documentation sur les propriétés
controlType : int
Un entier unique identifiant ce type de contrôle personnalisé. Définissez la même valeur sur le site StyleReader.controlType dans votre implémentation de contrôle personnalisé pour le relier à cette définition de style.
Les types de contrôles personnalisés doivent être compris entre 0 et 100000.
Voir également 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.