En esta página

Gráficos

Las aplicaciones multiplataforma pueden utilizar Qt para mostrar elementos gráficos. Qt abstrae las API gráficas subyacentes de las plataformas para que los desarrolladores puedan centrarse en el código de la aplicación.

Qt Rendering Hardware Interface (RHI) traduce las llamadas a gráficos 3D de las aplicaciones Qt a las APIs gráficas disponibles en la plataforma de destino.

Las APIs gráficas soportadas son:

  • OpenGL (versión 2.1 y superiores)
  • OpenGL ES (versión 2.0 y superior)
  • Vulkan (versión 1.0 y superiores)
  • Direct3D 11 (versión 11.1 y superiores)
  • Direct3D 12 (versión 12.0 y superiores)
  • Metal (versión 1.2 y superiores)

Los gráficos en Qt Quick

Qt Quick utilizan un gráfico de escena para el renderizado. El renderizador de gráficos de escena puede crear llamadas gráficas eficientes y aumentar el rendimiento. El grafo de escena dispone de una API accesible que ofrece la flexibilidad necesaria para crear gráficos complejos pero rápidos.

Las páginas de la siguiente lista contienen más información sobre la renderización de aplicaciones Qt Quick.

Elección de una ruta de renderizado

Qt utiliza las APIs gráficas de la plataforma de destino siempre que sea posible, sin embargo, es posible configurar la ruta de renderizado de Qt con una API específica. En muchos casos, elegir una API específica puede aumentar el rendimiento y permite a los desarrolladores desplegar en una plataforma que tenga una API gráfica específica. Visite la página Rendering via the Qt Rendering Hardware Interface sobre cómo configurar la ruta de renderizado en QQuickWindow.

Gráficos 2D

Qt tiene varias APIs diferentes para dibujar primitivas gráficas 2D. Ver la página separada sobre Gráficos 2D en Qt para una visión general de las posibilidades aquí.

Gráficos 3D con Qt Quick 3D

Qt Quick 3D es un complemento que proporciona una API de alto nivel para crear contenido 3D e interfaces de usuario 3D basadas en Qt Quick. Extiende el Qt Quick Scene Graph que permite implementar contenido 3D en aplicaciones 2D Qt Quick.

Efectos de sombreado

Qt Shader Tools proporciona una herramienta, QSB, para traducir sombreadores de vértices y fragmentos en un paquete para interfaces Qt Quick. En particular, el tipo ShaderEffect QML y las subclases QSGMaterial pueden utilizar la salida de QSB. Qt Quick 3D tiene su propio marco para importar sombreadores en escenas 3D.

La siguiente lista contiene información sobre los efectos de los sombreadores.

Gráficos de alto nivel con Qt GUI

Qt GUI proporciona un sistema de ventanas, pintura y tipografía de alto nivel. QPainter proporciona una API para dibujar gráficos vectoriales, texto e imágenes sobre diferentes superficies, o instancias de QPaintDevice, como QImage, QOpenGLPaintDevice, QWidget y QPrinter. Para las interfaces de usuario de Qt Widgets, Qt utiliza un renderizador de software.

La siguiente lista contiene información sobre las APIs de dibujo de alto nivel de Qt GUI.

Gráficos de bajo nivel con Qt GUI

Qt GUI proporciona habilitadores multiplataforma para gestionar contextos OpenGL e instancias Vulkan. Las aplicaciones que realizan el renderizado directamente con OpenGL, OpenGL ES o Vulkan pueden utilizar QOpenGLContext, QOpenGLFunctions, QVulkanInstance, QVulkanFunctions, y QVulkanDeviceFunctions para gestionar contextos, instancias y acceder a las funciones de las API de OpenGL y Vulkan de forma portable.

Qt GUI también ofrece la familia de APIs Qt Rendering Hardware Interface (RHI), como QRhi y QShader, para aplicaciones que quieran realizar renderizado utilizando la infraestructura de renderizado 3D portable y multiplataforma que Qt utiliza para implementar el gráfico de escena Qt Quick y el motor de renderizado 3D Qt Quick. Estas clases se ofrecen como API "semipúblicas" con una promesa de compatibilidad limitada por el momento, de forma similar a las clases de abstracción de la plataforma Qt. Sin embargo, las clases QRhi vienen con documentación completa. Consulta la clase QRhi para empezar.

El módulo Qt GUI por sí solo permite apuntar a QWindow o a un búfer fuera de la pantalla, como QRhiTexture, con el renderizado basado en QRhi. Con interfaces de usuario basadas en QWidget o QML (Qt Quick) trabajar con un QWindow respaldado por una plataforma nativa no es siempre lo más conveniente. Por ello, el módulo Qt Widgets ofrece QRhiWidget, mientras que Qt Quick proporciona QQuickRhiItem. Estas clases base permiten crear cómodamente subclases de QWidget o QQuickItem, cuyas instancias realizan un renderizado portátil basado en QRhi en una textura que luego se compone automáticamente con la escena Widgets o Qt Quick.

Qt OpenGL Módulo

El módulo Qt OpenGL es para aplicaciones que requieren acceso OpenGL. Este módulo sirve para mantener la compatibilidad con las aplicaciones Qt 5 y con Qt GUI. Para las interfaces de usuario que utilizan QWidget, QOpenGLWidget es un widget que puede añadir escenas OpenGL.

Impresión

Qt soporta la impresión tanto directamente a impresoras reales, localmente o en la red, así como la producción de salida PDF. Cómo imprimir con Qt se describe en detalle en la página Qt Print Support página

Imágenes

Qt soporta la lectura, escritura y manipulación de imágenes a través de la clase QImage. Además, para un control más preciso de cómo se cargan o guardan las imágenes, puedes utilizar las clases QImageReader y QImageWriter respectivamente. Para añadir soporte para formatos de imagen adicionales, fuera de los proporcionados por Qt, puedes crear plugins de formato de imagen utilizando QImageIOHandler y QImageIOPlugin.

Consulte la página Lectura y escritura de archivos de imagen para obtener más información.

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