En esta página

QQuickGraphicsDevice Class

La clase QQuickGraphicsDevice proporciona un contenedor opaco para objetos gráficos nativos que representan dispositivos o contextos gráficos. Más...

Cabecera: #include <QQuickGraphicsDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Desde: Qt 6.0

Funciones Públicas

Miembros públicos estáticos

QQuickGraphicsDevice fromAdapter(quint32 adapterLuidLow, qint32 adapterLuidHigh, int featureLevel = 0)
QQuickGraphicsDevice fromDeviceAndCommandQueue(MTLDevice *device, MTLCommandQueue *commandQueue)
QQuickGraphicsDevice fromDeviceAndContext(void *device, void *context)
QQuickGraphicsDevice fromDeviceObjects(VkPhysicalDevice physicalDevice, VkDevice device, int queueFamilyIndex, int queueIndex = 0)
QQuickGraphicsDevice fromOpenGLContext(QOpenGLContext *context)
QQuickGraphicsDevice fromPhysicalDevice(VkPhysicalDevice physicalDevice)
(since 6.6) QQuickGraphicsDevice fromRhi(QRhi *rhi)
(since 6.10) QQuickGraphicsDevice fromRhiAdapter(QRhiAdapter *adapter)

Descripción Detallada

Ver también QQuickWindow::setGraphicsDevice() y QQuickRenderTarget.

Documentación de las funciones de los miembros

QQuickGraphicsDevice::QQuickGraphicsDevice()

Construye un QQuickGraphicsDevice por defecto que no hace referencia a ningún objeto nativo.

[noexcept] QQuickGraphicsDevice::~QQuickGraphicsDevice()

Destructor.

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromAdapter(quint32 adapterLuidLow, qint32 adapterLuidHigh, int featureLevel = 0)

Devuelve un nuevo QQuickGraphicsDevice que describe un adaptador DXGI y un featureLevel D3D.

Esta función de fábrica es adecuada para Direct3D 11 y 12, especialmente en combinación con OpenXR. adapterLuidLow y adapterLuidHigh especifican conjuntamente un LUID, mientras que featureLevel especifica un valor D3D_FEATURE_LEVEL_. featureLevel puede establecerse en 0 si no se desea especificar, en cuyo caso se utilizarán los valores predeterminados del gráfico de escena.

Nota: Con Direct 3D 12 featureLevel especifica el nivel de característica minimum pasado a D3D12CreateDevice().

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndCommandQueue(MTLDevice *device, MTLCommandQueue *commandQueue)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un objeto device y commandQueue existente.

Esta función de fábrica es adecuada para Metal.

Nota: el QQuickGraphicsDevice resultante no posee ningún recurso nativo, simplemente contiene referencias. Es responsabilidad de quien llama asegurarse de que el recurso nativo existe tanto tiempo como sea necesario.

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndContext(void *device, void *context)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un dispositivo nativo y a un objeto de contexto.

Esta función de fábrica es adecuada para Direct 3D 11. Se espera que device sea un ID3D11Device*, se espera que context sea un ID3D11DeviceContext*.

También es compatible con Direct 3D 12, si esa es la API 3D utilizada en tiempo de ejecución. Con D3D12 context no se utiliza y puede establecerse como nulo. device se espera que sea un ID3D12Device*.

Nota: el QQuickGraphicsDevice resultante no posee ningún recurso nativo, simplemente contiene referencias. Es responsabilidad de quien realiza la llamada asegurarse de que el recurso nativo existe todo el tiempo que sea necesario.

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceObjects(VkPhysicalDevice physicalDevice, VkDevice device, int queueFamilyIndex, int queueIndex = 0)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un objeto device existente.

Esta función de fábrica es adecuada para Vulkan. physicalDevice Siempre se debe proporcionar device y queueFamilyIndex. queueIndex es opcional, ya que el valor predeterminado de 0 suele ser adecuado.

Nota: el QQuickGraphicsDevice resultante no posee ningún recurso nativo, simplemente contiene referencias. Es responsabilidad de quien llama asegurarse de que el recurso nativo existe tanto como sea necesario.

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromOpenGLContext(QOpenGLContext *context)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un context OpenGL existente.

Esta función de fábrica es adecuada para OpenGL.

Nota: Es responsabilidad de la persona que llama a la función asegurarse de que context va a ser compatible y utilizable con QQuickWindow. Los desajustes específicos de la plataforma en el QSurfaceFormat asociado, o los problemas de subprocesos debidos al intento de utilizar context en múltiples subprocesos son responsabilidad de la persona que llama a la función evitarlos.

[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromPhysicalDevice(VkPhysicalDevice physicalDevice)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un physicalDevice existente.

Esta función de fábrica es adecuada para Vulkan, especialmente en combinación con OpenXR.

Nota: el QQuickGraphicsDevice resultante no posee ningún recurso nativo, simplemente contiene referencias. Es responsabilidad de quien llama asegurarse de que el recurso nativo existe tanto como sea necesario.

[static, since 6.6] QQuickGraphicsDevice QQuickGraphicsDevice::fromRhi(QRhi *rhi)

Devuelve un nuevo QQuickGraphicsDevice referenciando un objeto rhi existente.

Nota: De forma similar a fromOpenGLContext(), el que llama debe tener cuidado de sólo compartir un QRhi (y así el contexto gráfico subyacente o dispositivo) entre QQuickWindows que se sabe que son compatibles, no rompiendo las reglas de la API gráfica subyacente cuando se trata de hilos, formatos de píxel, etc.

Esta función se introdujo en Qt 6.6.

[static, since 6.10] QQuickGraphicsDevice QQuickGraphicsDevice::fromRhiAdapter(QRhiAdapter *adapter)

Devuelve un nuevo QQuickGraphicsDevice que hace referencia a un objeto adapter QRhiAdapter existente.

No aplicable a backends QRhi y APIs gráficas donde QRhiAdapter no tiene una implementación real.

Equivalente a fromAdapter() para Direct 3D, y fromPhysicalDevice() para Vulkan.

Nota: La propiedad no se toma para adapter, y debe permanecer válida como mínimo hasta que el gráfico de escena se inicialice, lo que muy probablemente ocurre cuando el QQuickWindow asociado se expone.

Esta función se introdujo en Qt 6.10.

Véase también QRhi::enumerateAdapters().

bool QQuickGraphicsDevice::isNull() const

Devuelve true si se trata de un dispositivo gráfico construido por defecto que no hace referencia a ningún objeto nativo.

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