Estilos

Los widgets incorporados en Qt utilizan la clase QStyle para realizar casi todos sus dibujos. QStyle es una clase base abstracta que encapsula el aspecto de una GUI, y puede ser utilizada para hacer que los widgets tengan exactamente el mismo aspecto que los widgets nativos equivalentes o para dar a los widgets un aspecto personalizado.

Qt proporciona un conjunto de subclases QStyle que emulan el aspecto nativo de las diferentes plataformas soportadas por Qt (QWindowsStyle, QMacStyle, etc.). Estos estilos están incorporados en el módulo Qt GUI, otros estilos pueden estar disponibles utilizando el mecanismo de plugins de Qt.

La mayoría de las funciones para dibujar elementos de estilo toman cuatro argumentos:

  • un valor enum que especifica qué elemento gráfico dibujar
  • un objeto QStyleOption que especifica cómo y dónde representar ese elemento
  • un objeto QPainter que debe utilizarse para dibujar el elemento
  • un objeto QWidget sobre el que se realiza el dibujo (opcional)

El estilo obtiene toda la información que necesita para representar el elemento gráfico de la clase QStyleOption. El widget se pasa como último argumento en caso de que el estilo lo necesite para realizar efectos especiales (como botones animados por defecto en macOS), pero no es obligatorio. De hecho, QStyle puede utilizarse para dibujar en cualquier dispositivo de pintura (no sólo widgets), en cuyo caso el argumento widget es un puntero cero.

Diagrama que muestra que QStylePainter hereda de QPainter

El sistema paint también proporciona la clase QStylePainter que hereda de QPainter. QStylePainter es una clase de conveniencia para dibujar elementos QStyle dentro de un widget, y extiende QPainter con un conjunto de funciones de dibujo de alto nivel implementadas sobre la API de QStyle. La ventaja de utilizar QStylePainter es que las listas de parámetros se acortan considerablemente.

Icono utilizado en QtQIcon

La clase QIcon proporciona iconos escalables en diferentes modos y estados.

QIcon puede generar mapas de píxeles que reflejen el estado, el modo y el tamaño de un icono. Estos pixmaps se generan a partir del conjunto de pixmaps puestos a disposición del icono, y son utilizados por los Qt Widgets para mostrar un icono que represente una acción concreta.

El renderizado de un objeto QIcon es gestionado por la clase QIconEngine. Cada icono tiene un motor de iconos correspondiente que es responsable de dibujar el icono con un tamaño, modo y estado solicitados.

Para obtener más información sobre el estilo y la apariencia de los widgets, consulte la sección Estilos y widgets conscientes del estilo.

© 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.