Estilo Imagine
El estilo Imagine se basa en activos de imagen configurables. Más...
| Declaración de Importación: | import QtQuick.Controls.Imagine |
| Desde: | Qt 5.10 |
Propiedades adjuntas
- ruta: cadena
Descripción detallada
El estilo Imagine se basa en activos de imagen. El estilo viene con un conjunto de imágenes por defecto, pero las imágenes se pueden cambiar fácilmente proporcionando un directorio con imágenes utilizando una convención de nomenclatura predefinida.

El estilo Imagine con las imágenes por defecto
Para ejecutar una aplicación con el estilo Imagine, consulte Uso de estilos en Qt Quick Controls.
Nombres de archivos
Los archivos de imagen se nombran utilizando la siguiente convención:
<control>-<element>-<states>
Las secciones <control> y <element> son obligatorias, pero la sección <states> es opcional. Por ejemplo, si se proporciona un único archivo llamado "button-background.9.png" para Button, se utilizará para todos los estados que admita Button. Corresponde al desarrollador decidir el conjunto de estados para los que proporcionará imágenes. Sin embargo, se recomienda proporcionar imágenes para los estados de control más comunes siempre que sea posible, como disabled, pressed, etc. Esto garantizará que los controles interactivos se comporten visualmente como el usuario final espera que lo hagan.
Elemento Referencia
La siguiente tabla enumera los elementos que admite cada control, junto con los posibles estados de ese elemento y la extensión de archivo que espera. Un elemento es una imagen que representa una determinada parte visual del control. Por ejemplo, Button's "background" elemento representa su background.
| Control | Elemento | Estados | Extensión |
|---|---|---|---|
| ApplicationWindow | fondo | activo | .9.png (o .png) |
| BusyIndicator | animación | desactivada, en ejecución, reflejada, sobrevolada | .webp |
| fondo | igual que arriba | .webp | |
| Button | fondo | desactivado, pulsado, marcado, marcable, centrado, resaltado, plano, reflejado, sobreimpresionado | .9.png |
| CheckBox | fondo | desactivado, pulsado, marcado, parcialmente marcado, enfocado, reflejado, sobreimpresionado | .9.png (o .png) |
| indicador | igual que el anterior | .png | |
| CheckDelegate | fondo | desactivado, pulsado, marcado, parcialmente marcado, enfocado, resaltado, reflejado, sobrevolado | .9.png (o .png) |
| indicador | igual que el anterior | .png | |
| ComboBox | fondo | desactivado, pulsado, editable, abierto, enfocado, reflejado, sobrevolado, plano | .9.png (o .png) |
| indicador | igual que el anterior | .png | |
| ventana emergente | igual que arriba | .9.png (o .png) | |
| DelayButton | fondo | desactivado, pulsado, marcado, marcable, enfocado, reflejado, sobrevolado | .9.png (o .png) |
| progreso | igual que arriba | .9.png (o .png) | |
| máscara | igual que arriba | .9.png (o .png) | |
| Dial | fondo1 | desactivado, pulsado, enfocado, reflejado, sobrevolado | .9.png (o .png) |
| asa | igual que arriba | .9.png (o .png) | |
| Dialog | fondo | modal, tenue | .9.png (o .png) |
| título | igual que arriba | .9.png (o .png) | |
| superponer | modal | .9.png (o .png) | |
| DialogButtonBox | fondo | desactivado, reflejado | .9.png (o .png) |
| Drawer | fondo | modal, dim, top, left, right, bottom | .9.png (o .png) |
| superponer | modal | .9.png (o .png) | |
| Frame | fondo | desactivado, reflejado | .9.png (o .png) |
| GroupBox | fondo | desactivado, reflejado | .9.png (o .png) |
| título | igual que arriba | .9.png (o .png) | |
| ItemDelegate | fondo | desactivado, pulsado, enfocado, resaltado, reflejado, sobrevolado | .9.png (o .png) |
| Label | fondo | desactivado, reflejado, desplazado | .9.png (o .png) |
| Menu | fondo | modal, atenuado | .9.png (o .png) |
| superponer | modal | .9.png (o .png) | |
| MenuItem | flecha | desactivada, pulsada, marcada, enfocada, resaltada, reflejada, sobrevolada | .png |
| fondo | igual que arriba | .9.png (o .png) | |
| indicador | igual que arriba | .png | |
| MenuSeparator | fondo | desactivado, reflejado | .9.png (o .png) |
| separador | igual que arriba | .9.png (o .png) | |
| Page | fondo | desactivado, reflejado | .9.png (o .png) |
| PageIndicator | fondo | desactivado, reflejado, flotante | .9.png (o .png) |
| delegar | desactivado, pulsado, actual, reflejado, flotante | .png | |
| Pane | fondo | desactivado, reflejado | .9.png (o .png) |
| Popup | fondo | modal, atenuado | .9.png (o .png) |
| superposición | modal | .9.png (o .png) | |
| ProgressBar | animación | desactivada, reflejada, sobreimpresionada | .png |
| fondo | desactivado, indeterminado, reflejado, flotante | .9.png (o .png) | |
| máscara | igual que arriba | .9.png (o .png) | |
| progreso | igual que arriba | .9.png (o .png) | |
| RadioButton | fondo | desactivado, pulsado, marcado, enfocado, reflejado, sobrevolado | .9.png (o .png) |
| indicador | igual que el anterior | .png | |
| RadioDelegate | fondo | desactivado, pulsado, marcado, enfocado, resaltado, reflejado, sobrevolado | .9.png (o .png) |
| indicador | igual que el anterior | .png | |
| RangeSlider | fondo | vertical, horizontal, desactivado, enfocado, reflejado, sobrevolado | .9.png (o .png) |
| RangeSlider | progreso | igual que arriba | .9.png (o .png) |
| manejar | primero, segundo, vertical, horizontal, desactivado, pulsado, enfocado, reflejado, sobrevolado | .png | |
| RoundButton | fondo | desactivado, pulsado, marcado, marcable, centrado, resaltado, plano, reflejado, desplazado | .9.png (o .png) |
| ScrollBar | fondo | vertical, horizontal, desactivado, interactivo, pulsado, reflejado, desplazado | .9.png (o .png) |
| manejar | igual que arriba | .9.png (o .png) | |
| ScrollIndicator | fondo | vertical, horizontal, desactivado, reflejado, hovered | .9.png (o .png) |
| asa | igual que arriba | .9.png (o .png) | |
| ScrollView | fondo | desactivado, reflejado | .9.png (o .png) |
| Slider | fondo | vertical, horizontal, desactivado, pulsado, enfocado, reflejado, desplazado | .9.png (o .png) |
| asa | igual que arriba | .9.png (o .png) | |
| progreso | igual que arriba | .9.png (o .png) | |
| SpinBox | fondo | desactivado, editable, enfocado, reflejado, sobrevolado | .9.png (o .png) |
| editor | desactivado, enfocado, reflejado, sobreimpreso | .9.png (o .png) | |
| indicador | arriba, abajo, desactivado, editable, pulsado, enfocado, reflejado, sobreimpresionado | .9.png (o .png) | |
| StackView | fondo | desactivado, reflejado | .9.png (o .png) |
| SwipeDelegate | fondo | desactivado, pulsado, enfocado, resaltado, reflejado, desplazado | .9.png (o .png) |
| SwipeView | fondo | vertical, horizontal, desactivado, interactivo, enfocado, reflejado | .9.png (o .png) |
| Switch | fondo | desactivado, pulsado, marcado, centrado, reflejado, flotante | .9.png (o .png) |
| manejar | igual que arriba | .9.png (o .png) | |
| indicador | igual que arriba | .9.png (o .png) | |
| SwitchDelegate | fondo | desactivado, pulsado, marcado, enfocado, resaltado, reflejado, sobrevolado | .9.png (o .png) |
| manejar | igual que arriba | .9.png (o .png) | |
| indicador | igual que arriba | .9.png (o .png) | |
| TabBar | fondo | desactivado, encabezado, pie de página, reflejado | .9.png (o .png) |
| TabButton | fondo | desactivado, pulsado, marcado, enfocado, reflejado, desplazado | .9.png (o .png) |
| TextArea | fondo | desactivado, enfocado, reflejado, desplazado | .9.png (o .png) |
| TextField | fondo | desactivado, enfocado, reflejado, desplazado | .9.png (o .png) |
| ToolBar | fondo | desactivado, encabezado, pie de página, reflejado | .9.png (o .png) |
| ToolButton | fondo | desactivado, pulsado, marcado, marcable, centrado, resaltado, plano, reflejado, desplazado | .9.png (o .png) |
| ToolSeparator | fondo | vertical, horizontal, desactivado, reflejado | .9.png (o .png) |
| separador | igual que arriba | .9.png (o .png) | |
| ToolTip | fondo | .9.png (o .png) | |
| Tumbler | fondo | desactivado, enfocado, reflejado, sobrevolado | .9.png (o .png) |
Nota: 1) El estilo Imagine Dial aún no soporta las propiedades startAngle y endAngle que se introdujeron en Qt 6.6, y en su lugar utiliza una imagen de fondo fija.
Ejemplos de activos
La siguiente tabla enumera ejemplos de activos (tomados de los activos por defecto del estilo Imagine) para todos los controles. La lista no es exhaustiva, ya que no todos los elementos necesitan activos, pero puede utilizarse como guía para crear sus propios activos.
La plantilla desde la que se exportaron estos recursos está disponible como proyecto Sketch.
| Control | Elemento | Estados | Activo | Notas |
|---|---|---|---|---|
| ApplicationWindow | fondo |
| Véase la nota 1 | |
| superposición |
| Ver nota 1 | ||
| ventana superpuesta | modal |
| Ver nota 1 | |
| Button | fondo |
| ||
| fondo | discapacitados |
| ||
| fondo | enfocado |
| ||
| fondo | pulsado |
| ||
| fondo | marcado |
| ||
| fondo | comprobado, desactivado |
| ||
| fondo | marcado, centrado |
| ||
| fondo | marcado, desplazado |
| ||
| fondo | resaltado |
| ||
| fondo | resaltado, desactivado |
| ||
| fondo | resaltado, centrado |
| ||
| fondo | resaltado, centrado |
| ||
| fondo | resaltado, pulsado |
| ||
| fondo | resaltado, marcado |
| ||
| fondo | desplazado |
| ||
| fondo | plano |
| ||
| fondo | plano, desactivado |
| ||
| fondo | plano, flotante |
| ||
| fondo | plano, pulsado |
| ||
| fondo | plano, a cuadros |
| ||
| CheckBox | indicador |
| ||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, pulsado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | marcado, centrado |
| ||
| indicador | parcialmente, comprobado |
| ||
| indicador | parcialmente, comprobado, pulsado |
| ||
| indicador | parcialmente, comprobado, centrado |
| ||
| indicador | parcialmente, marcado, centrado |
| ||
| indicador | centrado |
| ||
| indicador | rondado |
| ||
| CheckDelegate | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | enfocado |
| ||
| fondo | sobrevolado |
| ||
| indicador |
| |||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, pulsado |
| ||
| indicador | marcado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | enfocado |
| ||
| indicador | sobrevolado |
| ||
| indicador | parcialmente, marcado |
| ||
| indicador | parcialmente, marcado, pulsado |
| ||
| indicador | parcialmente, comprobado, centrado |
| ||
| indicador | parcialmente, marcado, desplazado |
| ||
| indicador | desplazado |
| ||
| ComboBox | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | centrado |
| ||
| fondo | sobrevolado |
| ||
| fondo | pulsado |
| ||
| fondo | abierto |
| ||
| fondo | editable |
| ||
| fondo | editable, centrado |
| ||
| fondo | editable, desactivado |
| ||
| indicador |
| |||
| indicador | desactivado |
| ||
| indicador | editable |
| ||
| indicador | editable, desactivado |
| ||
| indicador | editable, reflejado |
| ||
| indicador | editable, reflejado, desactivado |
| ||
| ventana emergente |
| |||
| DelayButton | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | desactivado, marcado |
| ||
| fondo | centrado |
| ||
| fondo | pulsado |
| ||
| fondo | comprobado |
| ||
| fondo | marcado, centrado |
| ||
| fondo | marcado, desplazado |
| ||
| fondo | desplazado |
| ||
| progreso |
| |||
| progreso | desactivado |
| ||
| máscara |
| |||
| Dial | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | enfocado |
| ||
| asa |
| |||
| tirador | desactivado |
| ||
| tirador | enfocado |
| ||
| tirador | enfocado, pulsado |
| ||
| tirador | enfocado, pulsado |
| ||
| tirador | pulsado |
| ||
| tirador | desplazado |
| ||
| Dialog | fondo |
| ||
| superposición |
| Véase la nota 1 | ||
| ventana superpuesta | modal |
| Ver nota 1 | |
| DialogButtonBox | fondo |
| ||
| Drawer | fondo | izquierda |
| |
| fondo | derecha |
| ||
| fondo | arriba |
| ||
| fondo | fondo inferior |
| ||
| superponer |
| Véase la nota 1 | ||
| ventana superpuesta | modal |
| Ver nota 1 | |
| Frame | fondo |
| ||
| GroupBox | fondo |
| ||
| título |
| |||
| ItemDelegate | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | centrado |
| ||
| fondo | sobrevolado |
| ||
| fondo | resaltado |
| ||
| Menu | fondo |
| ||
| MenuItem | fondo |
| ||
| fondo | resaltado |
| ||
| flecha |
| |||
| flecha | reflejado |
| ||
| flecha | desactivado |
| ||
| flecha | reflejada, desactivada |
| ||
| indicador |
| |||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, pulsado |
| ||
| indicador | marcado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | centrado |
| ||
| indicador | desplazado |
| ||
| MenuSeparator | separador |
| ||
| Page | fondo |
| Véase la nota 1 | |
| PageIndicator | delegado |
| ||
| delegado | desactivado |
| ||
| delegado | desactivado, actual |
| ||
| delegado | pulsado |
| ||
| delegado | actual |
| ||
| Pane | fondo |
| ||
| Popup | fondo |
| Véase la nota 1 | |
| superponer |
| Ver nota 1 | ||
| ventana superpuesta | modal |
| ||
| ProgressBar | fondo |
| ||
| progreso |
| |||
| máscara |
| |||
| RadioButton | indicador |
| ||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | marcado, pulsado |
| ||
| indicador | centrado |
| ||
| indicador | desplazado |
| ||
| RadioDelegate | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | centrado |
| ||
| fondo | sobrevolado |
| ||
| indicador |
| |||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | marcado, pulsado |
| ||
| indicador | centrado |
| ||
| indicador | desplazado |
| ||
| RangeSlider | fondo | vertical |
| |
| fondo | horizontal |
| ||
| progreso | vertical |
| ||
| progreso | vertical, desactivado |
| ||
| progreso | horizontal |
| ||
| progreso | horizontal, desactivado |
| ||
| asa |
| |||
| asa | desactivado |
| ||
| tirador | centrado |
| ||
| tirador | enfocado, sobrevolado |
| ||
| tirador | enfocado, pulsado |
| ||
| tirador | desplazado |
| ||
| tirador | pulsado |
| ||
| RoundButton | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | desactivado, marcado |
| ||
| fondo | centrado |
| ||
| fondo | pulsado |
| ||
| fondo | comprobado |
| ||
| fondo | marcado, centrado |
| ||
| fondo | marcado, desplazado |
| ||
| fondo | resaltado |
| ||
| fondo | resaltado, pulsado |
| ||
| fondo | resaltado, enfocado |
| ||
| fondo | resaltado, desplazado |
| ||
| fondo | desplazado |
| ||
| ScrollBar | asa |
| ||
| tirador | desactivado |
| ||
| tirador | interactivo |
| ||
| asa | interactivo, desactivado |
| ||
| tirador | interactivo, pulsado |
| ||
| tirador | interactivo, pulsado |
| ||
| ScrollIndicator | tirador |
| ||
| Slider | fondo | vertical |
| |
| fondo | horizontal |
| ||
| progreso | vertical |
| ||
| progreso | vertical, desactivado |
| ||
| progreso | horizontal |
| ||
| progreso | horizontal, desactivado |
| ||
| asa |
| |||
| asa | desactivado |
| ||
| tirador | centrado |
| ||
| tirador | enfocado, sobrevolado |
| ||
| tirador | enfocado, pulsado |
| ||
| tirador | desplazado |
| ||
| tirador | pulsado |
| ||
| SpinBox | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | centrado |
| ||
| fondo | editable |
| ||
| indicador | arriba |
| ||
| indicador | arriba, desactivado |
| ||
| indicador | arriba, pulsado |
| ||
| indicador | arriba, enfocado |
| ||
| indicador | arriba, reflejado |
| ||
| indicador | arriba, centrado |
| ||
| indicador | arriba, editable |
| ||
| indicador | arriba, editable, pulsado |
| ||
| indicador | arriba, editable, enfocado |
| ||
| indicador | arriba, editable, reflejado |
| ||
| indicador | arriba, editable, centrado |
| ||
| indicador | abajo |
| ||
| indicador | abajo, desactivado |
| ||
| indicador | abajo, pulsado |
| ||
| indicador | abajo, enfocado |
| ||
| indicador | abajo, reflejado |
| ||
| indicador | abajo, centrado |
| ||
| indicador | abajo, editable |
| ||
| indicador | abajo, editable, pulsado |
| ||
| indicador | abajo, editable, enfocado |
| ||
| indicador | abajo, editable, reflejado |
| ||
| indicador | abajo, editable, centrado |
| ||
| SwipeDelegate | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | centrado |
| ||
| fondo | sobrevolado |
| ||
| Switch | indicador |
| ||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | marcado, pulsado |
| ||
| indicador | centrado |
| ||
| indicador | rondado |
| ||
| tirador |
| |||
| tirador | desactivado |
| ||
| tirador | pulsado |
| ||
| SwitchDelegate | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | centrado |
| ||
| fondo | sobrevolado |
| ||
| indicador |
| |||
| indicador | desactivado |
| ||
| indicador | pulsado |
| ||
| indicador | comprobado |
| ||
| indicador | comprobado, enfocado |
| ||
| indicador | marcado, desplazado |
| ||
| indicador | marcado, pulsado |
| ||
| indicador | centrado |
| ||
| indicador | rondado |
| ||
| tirador |
| |||
| tirador | desactivado |
| ||
| TabBar | fondo |
| ||
| TabButton | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | pulsado |
| ||
| fondo | marcado |
| ||
| fondo | sobrevolado |
| ||
| fondo | desactivado, marcado |
| ||
| TextArea | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | centrado |
| ||
| TextField | fondo |
| ||
| fondo | desactivado |
| ||
| fondo | enfocado |
| ||
| ToolBar | fondo |
| ||
| ToolButton | fondo |
| ||
| fondo | desactivado, marcado |
| ||
| fondo | centrado |
| ||
| fondo | pulsado |
| ||
| fondo | marcado |
| ||
| fondo | comprobado, centrado |
| ||
| fondo | marcado, desplazado |
| ||
| fondo | sobrevolado |
| ||
| ToolSeparator | separador | horizontal |
| |
| separador | vertical |
| ||
| ToolTip | fondo |
|
1 Una imagen 1x1 que contiene un color, estirada para llenar el control.
Imágenes de 9 parches
El estilo Imagine utiliza imágenes de 9 parches para que los diseñadores puedan controlar cómo responde un elemento concreto al cambiar su tamaño. A continuación se muestra un ejemplo de una imagen de 9 parches que representa un Button's background, junto con una versión ampliada (para que sea más fácil ver las líneas de 9 parches):

El contenido de la imagen mide 44 píxeles de ancho por 32 de alto. Cada imagen de 9 parches necesita una línea de un píxel de grosor (denominadas colectivamente "líneas de 9 parches") alrededor de cada lado, por lo que el tamaño real de la imagen pasa a ser de 46 píxeles de ancho por 34 píxeles de alto. Tenga en cuenta que las líneas de 9 parches deben tener un grosor de un píxel, independientemente de los PPP de la imagen. Por ejemplo, las líneas de 9 parches de button-background.9.png y button-background@2x.9.png deben tener un grosor de un píxel.
Las líneas de 9 parches deben ser negras, y las áreas restantes deben ser transparentes o blancas:

Áreas estirables
Las líneas de 9 parches en los bordes superior e izquierdo determinan qué partes de la imagen se estiran cuando se redimensiona.
A continuación se muestran ejemplos de la imagen de 9 parches redimensionada a una vez y media su tamaño original en varias dimensiones:

Observe cómo las esquinas redondeadas mantienen su tamaño original, ya que están fuera del alcance de las líneas.
Áreas de relleno
Las líneas de 9 parches en los bordes derecho e inferior determinan cuánto espacio hay disponible para el control contentItem, lo que significa que también puede pensarse que controla el padding. Para ver un diagrama que ilustra el relleno, consulte Control Layout.
Abajo hay más ejemplos de la imagen 9-patch siendo redimensionada, pero esta vez demostrando cómo funcionan las líneas 9-patch de relleno.

contentItem puede ocupar todo el espacio que necesite dentro de las zonas sombreadas. Si se omiten las líneas de relleno, el contentItem ocupará todo el espacio que necesite sin sobrepasar las áreas estirables.
Áreas insertables
En algunos casos es necesario que un control tenga una sombra paralela, por ejemplo. Sin embargo, si añadiéramos una sombra al botón de arriba, afectaría a su tamaño, lo que presenta problemas tanto para el diseño como para los límites de entrada del ratón/toque.
Las áreas de inserción solucionan este problema indicando al control que una determinada área de la imagen de 9 parches debe quedar fuera del control:

En la imagen de abajo, la línea discontinua representa el área del botón en la que se puede hacer clic, así como el espacio que ocupará en un diseño. La sombra está marcada por la zona rayada que hay detrás:

Exportar imágenes 9-Patch
Se pueden utilizar varios editores vectoriales y de mapas de bits para crear imágenes de 9 parches adecuadas para su uso con el estilo Imagine. Las siguientes secciones explican brevemente el proceso de exportación para cada editor, y la última sección explica cómo asegurarse de que las imágenes exportadas son conformes con 9-patch.
Diseñador Affinity
Consulte la documentación Configuración de exportación de Affinity.
Adobe Illustrator
Consulte la documentación del panel Exportación de activos de Adobe.
Adobe Photoshop
Consulte la documentación de Adobe Generar activos de imagen a partir de capas.
Inkscape
La extensión de exportación Inkscape 9-Patch puede utilizarse para exportar activos con Inkscape.
Sketch
Vea la documentación de Exportación de Sketch.
Qt Quick Controls también proporciona un plugin para Sketch que corrige automáticamente el grosor de las líneas de 9 parches después de exportar los activos. Para instalar este archivo, haga doble clic en él. Una vez que Sketch haya confirmado que se ha instalado el plugin de exportación 9-patch, el plugin procesará automáticamente las imágenes cuando se exporten.
Corregir las líneas del 9-Patch
Al exportar imágenes de 9 parches en diversas variantes de PPP (@2x, @3x, etc.), las líneas de 9 parches se escalarán normalmente junto con la imagen. Hay varias formas de solucionar esto, pero quizás la más sencilla sea utilizar la herramienta mogrify de ImageMagick. La herramienta tiene una función -shave que se puede utilizar para recortar la imagen y reducir el grosor de las líneas de 9 parches:
mogrify -shave 1x1 -path path/to/images *@2x.9.png mogrify -shave 2x2 -path path/to/images *@3x.9.png mogrify -shave 3x3 -path path/to/images *@4x.9.png
Las imágenes con PPP normales (las que no tienen el prefijo @Nx ) no se ven afectadas, por lo que sólo es necesario ejecutar el comando en imágenes destinadas a pantallas con PPP altos.
Imágenes animadas
Los formatos de imagen animada WebP y GIF son compatibles con el estilo Imagine.
Personalización
Ruta
El estilo Imagine permite personalizar la ruta que se utiliza para hacer la selección de activos de imagen. La ruta puede especificarse para cualquier ventana o elemento, y se propaga automáticamente a los hijos de la misma manera que fonts. En el siguiente ejemplo, la ventana y los tres botones de opción aparecen con activos de imagen oscuros (archivos que se encuentran en "qrc:/themes/dark").
import QtQuick import QtQuick.Controls import QtQuick.Controls.Imagine ApplicationWindow { visible: true Imagine.path: "qrc:/themes/dark" Column { anchors.centerIn: parent RadioButton { text: qsTr("Small") } RadioButton { text: qsTr("Medium"); checked: true } RadioButton { text: qsTr("Large") } } } |
|
Además de especificar la ruta en QML, también es posible especificarla mediante una variable de entorno o en un archivo de configuración. Los atributos especificados en QML tienen prioridad sobre todos los demás métodos.
Fichero de configuración
| Variable | Descripción |
|---|---|
Path | Especifica la ruta al directorio que contiene los activos de estilo de Imagine. Si no se especifica, se utilizan los activos incorporados. Por ejemplo, para especificar una ruta a un directorio almacenado en el sistema de recursos: [Imagine] Path=:/imagine-assets Para especificar una ruta relativa a un directorio local: [Imagine] Path=imagine-assets Nota: Debido a una limitación técnica, la ruta no debe llamarse "imagine" si es relativa al archivo |
Consulte Qt Quick Controls Configuration File para obtener más detalles sobre el archivo de configuración.
Variables de entorno
| Variable | Descripción |
|---|---|
QT_QUICK_CONTROLS_IMAGINE_PATH | Especifica la ruta al directorio que contiene los recursos de estilo de Imagine. Si no se especifica, se utilizan los activos incorporados. Por ejemplo, para especificar una ruta a un directorio almacenado en el sistema de recursos: QT_QUICK_CONTROLS_IMAGINE_PATH=:/imagine-assets Para especificar una ruta relativa a un directorio local: QT_QUICK_CONTROLS_IMAGINE_PATH=imagine-assets Nota: Debido a una limitación técnica, la ruta no debe llamarse "imagine" si es relativa al archivo |
QT_QUICK_CONTROLS_IMAGINE_SMOOTH | Establezca 1 para permitir un escalado suave para imágenes de 9 parches. Esta variable de entorno se añadió en Qt 6.5. |
Consulte Variables de entorno compatibles en Qt Quick Controls para ver la lista completa de variables de entorno compatibles.
Paleta
El estilo Imagine admite la personalización de la paleta mediante la propiedad palette y el archivo qtquickcontrols2.conf. Al igual que ocurre con otros estilos, la dirección palette roles exacta que utiliza el estilo Imagine depende del estilo. Sin embargo, como la mayor parte de la apariencia visual de los controles (por ejemplo: fondos) se gestionan a través de activos de imagen, sólo las funciones que se utilizan normalmente para el texto tendrán efecto.
Fuente
Las fuentes personalizadas pueden establecerse mediante la propiedad font y el archivo de configuración.
Dependencia
El estilo Imagine debe importarse por separado para poder acceder a los atributos específicos del estilo Imagine. Debe tenerse en cuenta que, independientemente de las referencias al estilo Imagine, el mismo código de aplicación se ejecuta con cualquier otro estilo. Los atributos específicos de Imagine sólo tienen efecto cuando la aplicación se ejecuta con el estilo Imagine.
Si el estilo Imagine se importa en un archivo QML que se carga siempre, el estilo Imagine debe desplegarse con la aplicación para poder ejecutarla independientemente del estilo con el que se ejecute la aplicación. Mediante el uso de selectores de archivo, se pueden aplicar ajustes específicos de estilo sin crear una dependencia rígida a un estilo.
Véase también Estilos Qt Quick Controls
Documentación de propiedades adjuntas
Imagine.path: cadena |
Esta propiedad adjunta contiene la ruta a los activos de imagen...
Button {
Imagine.path: "qrc:/themes/dark"
}Informaciones relacionadas
© 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.






































































































































































































































































































