CustomControl QML Type
Define el estilo de un control personalizado (no incorporado). Más...
| Import Statement: | import Qt.labs.StyleKit |
| Inherits: |
Propiedades
- controlType : int
Descripción detallada
CustomControl permite definir y dar estilo a controles que no forman parte de Qt Quick Controls. Esto es conveniente si tiene controles o componentes adicionales que deben ser estilizados de acuerdo con los activos Style y Theme.
Al igual que los tipos de control incorporados (como abstractButton, pane, y slider), CustomControl hereda ControlStyle. A diferencia de los tipos incorporados, que están implícitamente conectados a su tipo de control, un CustomControl requiere que controlType se establezca explícitamente. Aparte de eso, funcionan exactamente igual.
Un Style o un Theme pueden definir tantos controles personalizados como sea necesario, y un CustomControl en un Tema puede tener el mismo controlType que uno en el Style. Esto no difiere de, por ejemplo, un slider al que se le aplica estilo tanto en el Style como en el Theme. La lógica de fallback es la misma.
Las propiedades de estilo no definidas en un CustomControl se sustituyen por las definidas en control.
El siguiente fragmento muestra cómo definir el estilo de un control personalizado:
// 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" } }
Y el siguiente fragmento muestra un ejemplo de cómo implementar un control personalizado que lo utilice:
// 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" } }
Nota: No se garantiza que los tipos de los módulos Qt.labs sigan siendo compatibles en futuras versiones.
Ver también StyleReader, ControlStyle, y Style.
Documentación de propiedades
controlType : int
Un entero único que identifica este tipo de control personalizado. Establezca el mismo valor en StyleReader.controlType en la implementación de su control personalizado para conectarlo a esta definición de estilo.
Los tipos de control personalizados deben estar en el rango 0 a 100000.
Véase también 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.