Kit de estilo de Qt Labs
StyleKit es un sistema de estilo declarativo para Qt Quick Controlsconstruido sobre Qt Quick Templates. Le permite definir un estilo visual completo para todos sus controles desde un único objeto Style, incluyendo soporte para themes, state-based styling, y transitions. StyleKit maneja la implementación de la plantilla subyacente automáticamente, permitiéndole centrarse puramente en aspectos visuales como colors, dimensions, borders, y shadows.
Uno de los puntos fuertes de StyleKit es su sistema jerárquico de propiedades: si se establece una propiedad una vez en un tipo base como abstractButton, se aplica automáticamente a todos los controles tipo botón. Puede anularla cuando sea necesario para controles o estados específicos. Los cambios en el estilo se reflejan al instante en todos los controles, lo que garantiza la coherencia y permite una personalización detallada.
Para los controles que necesitan un comportamiento personalizado más allá de lo que proporciona StyleKit, puede implementar plantillas personalizadas e integrarlas sin problemas junto con los controles de estilo StyleKit.
Características principales
- Estilización declarativa: una API QML fácil de usar que le permite centrarse en el diseño en lugar de en la implementación.
- Fallbacks jerárquicos: todas las propiedades se propagan. Defínalas una vez y anúlelas cuando sea necesario
- Estilización basada en estados: diseñe apariencias separadas para los elementos sobrevolados, pulsados, enfocados, etc.
- Transiciones animadas: defina animaciones suaves entre estados.
- Soporte de temas - Diseñe temas claros y oscuros, y cualquier número de temas personalizados.
- Variaciones - Diseñe múltiples variaciones de los mismos controles
- Integración de paletas y fuentes - Configure paletas de controles y fuentes utilizando QML
El siguiente ejemplo muestra un ejemplo mínimo de un Estilo:
// PlainStyle.qml import QtQuick import Qt.labs.StyleKit Style { control { padding: 6 background { radius: 4 implicitWidth: 100 implicitHeight: 36 } indicator { implicitWidth: 20 implicitHeight: 20 border.width: 1 } handle { implicitWidth: 20 implicitHeight: 20 radius: 10 } } button { background { implicitWidth: 120 shadow.opacity: 0.6 shadow.verticalOffset: 2 shadow.horizontalOffset: 2 gradient: Gradient { GradientStop { position: 0.0; color: Qt.alpha("black", 0.0)} GradientStop { position: 1.0; color: Qt.alpha("black", 0.2)} } } pressed.background.scale: 0.95 } slider { indicator.implicitWidth: Style.Stretch indicator.implicitHeight: 6 indicator.radius: 3 } light: Theme { applicationWindow { background.color: "whitesmoke" } control { text.color: "black" background.color: "#e8e8e8" background.border.color: "#c0c0c0" hovered.background.color: "#d0d0d0" } button { text.color: "white" background.color: "cornflowerblue" background.shadow.color: "gray" hovered.background.color: "royalblue" } } dark: Theme { applicationWindow { background.color: Qt.darker("gray", 2.0) } control { text.color: "white" background.color: "#3a3a3a" background.border.color: "#555555" hovered.background.color: "#4a4a4a" } button { background.color: "sandybrown" background.shadow.color: "black" hovered.background.color: Qt.darker("sandybrown", 1.2) } } }
Así es como se configura el estilo en su aplicación:
// Main.qml import QtQuick import Qt.labs.StyleKit ApplicationWindow { id: app width: 1024 height: 800 visible: true // Assign the style to be used StyleKit.style: PlainStyle {} // Controls are used as normal Column { anchors.fill: parent anchors.margins: 10 spacing: 10 Button { text: "Button" } Slider { width: 200 } } }
Uso del Módulo en su Proyecto
Los tipos QML del módulo están disponibles a través de la importación QtQuick.labs.StyleKit. Para utilizar los tipos, añada la siguiente sentencia import a su archivo .qml:
import Qt.labs.StyleKit
Artículos y Guías
Ejemplos
- Ejemplo StyleKit - Muestra cómo aplicar estilo Qt Quick Controls utilizando StyleKit.
Tipos QML
Tipo base abstracto que contiene los tipos de control que pueden ser estilizados | |
Tipo base abstracto con propiedades comunes a Style y Theme | |
Define el estilo de borde para un delegado | |
Describe el estilo de un control en un estado determinado | |
Define el estilo de un control en estado normal | |
Define las propiedades estilizables de un control | |
Define el estilo de un control personalizado (no incorporado) | |
Definición de un tema personalizado | |
Define la apariencia visual de un elemento dentro de un control | |
Define el estilo de control para controles como Switch, Slider y RangeSlider | |
Define el estilo de la imagen de un delegado | |
Define el estilo del indicador de un control | |
Define el estilo de la sombra paralela de un delegado | |
Tipo raíz para una definición de estilo | |
Anima los cambios de propiedades de estilo durante las transiciones de estado | |
Un singleton para establecer y acceder al estilo actual | |
Rastrea cómo se resuelven las propiedades de estilo de un control | |
Lee las propiedades del estilo activo para un control específico | |
Define estilos alternativos para controles específicos | |
Renderiza un DelegateStyle | |
Define el estilo para un subindicador delegado | |
Define el estilo de texto para la etiqueta de un control | |
Define anulaciones de color y estilo para un esquema de color |
Licencias
Qt Labs StyleKit está disponible bajo licencia comercial de The Qt Company. Además, está disponible bajo la Licencia Pública General Reducida de GNU, versión 3, o la Licencia Pública General de GNU, versión 2. Vea Licencias Qt para más detalles.
© 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.