Sur cette page

QQuickGraphicsDevice Class

La classe QQuickGraphicsDevice fournit un conteneur opaque pour les objets graphiques natifs représentant des périphériques graphiques ou des contextes. Plus d'informations...

En-tête : #include <QQuickGraphicsDevice>
CMake : find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake : QT += quick
Depuis : Qt 6.0

Fonctions publiques

Membres publics statiques

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)

Description détaillée

Voir aussi QQuickWindow::setGraphicsDevice() et QQuickRenderTarget.

Documentation sur les fonctions membres

QQuickGraphicsDevice::QQuickGraphicsDevice()

Construit un QQuickGraphicsDevice par défaut qui ne fait référence à aucun objet natif.

[noexcept] QQuickGraphicsDevice::~QQuickGraphicsDevice()

Destructeur.

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

Renvoie une nouvelle adresse QQuickGraphicsDevice décrivant un adaptateur DXGI et un niveau de fonctionnalité D3D.

Cette fonction d'usine est adaptée à Direct3D 11 et 12, en particulier en combinaison avec OpenXR. adapterLuidLow et adapterLuidHigh spécifient ensemble un LUID, tandis qu'un featureLevel spécifie une valeur D3D_FEATURE_LEVEL_. featureLevel peut être mis à 0 s'il n'est pas prévu de le spécifier, auquel cas les valeurs par défaut du graphe de scène seront utilisées.

Remarque : avec Direct 3D 12, featureLevel spécifie le niveau de fonctionnalité minimum transmis à D3D12CreateDevice().

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

Renvoie un nouveau QQuickGraphicsDevice faisant référence à un objet existant device et commandQueue.

Cette fonction d'usine est adaptée à Metal.

Remarque : le site QQuickGraphicsDevice qui en résulte ne possède aucune ressource native, il contient simplement des références. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.

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

Renvoie une nouvelle adresse QQuickGraphicsDevice faisant référence à un périphérique natif et à un objet contextuel.

Cette fonction d'usine est adaptée à Direct3D 11. device devrait être un ID3D11Device*, context devrait être un ID3D11DeviceContext*.

Elle prend également en charge Direct 3D 12, s'il s'agit de l'API 3D utilisée au moment de l'exécution. Avec D3D12, context est inutilisé et peut être défini comme nul. device devrait être un ID3D12Device*.

Remarque : le site QQuickGraphicsDevice qui en résulte ne possède aucune ressource native, il contient simplement des références. Il incombe à l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.

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

Renvoie un nouveau QQuickGraphicsDevice faisant référence à un objet device existant.

Cette fonction d'usine est adaptée à Vulkan. physicalDevice Les objets device et queueFamilyIndex doivent toujours être fournis. queueIndex est facultatif car la valeur par défaut de 0 convient souvent.

Remarque : l'objet QQuickGraphicsDevice résultant ne possède aucune ressource native, il contient simplement des références. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.

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

Renvoie un nouveau QQuickGraphicsDevice faisant référence à un context OpenGL existant.

Cette fonction d'usine est adaptée à OpenGL.

Note : C'est à l'appelant de s'assurer que context sera compatible et utilisable avec QQuickWindow. Les inadéquations spécifiques à la plate-forme dans le QSurfaceFormat associé, ou les problèmes de threading dus à une tentative d'utilisation de context sur plusieurs threads sont à éviter par l'appelant.

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

Renvoie un nouveau QQuickGraphicsDevice faisant référence à un physicalDevice existant.

Cette fonction d'usine est adaptée à Vulkan, en particulier en combinaison avec OpenXR.

Remarque : le site QQuickGraphicsDevice résultant ne possède aucune ressource native, il contient simplement des références. Il est de la responsabilité de l'appelant de s'assurer que la ressource native existe aussi longtemps que nécessaire.

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

Renvoie un nouvel objet QQuickGraphicsDevice faisant référence à un objet rhi existant.

Note : Comme pour fromOpenGLContext(), l'appelant doit faire attention à ne partager un QRhi (et donc le contexte graphique sous-jacent ou le périphérique) qu'entre des QQuickWindows connues pour être compatibles, sans enfreindre les règles de l'API graphique sous-jacente en ce qui concerne le threading, les formats de pixels, etc.

Cette fonction a été introduite dans Qt 6.6.

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

Renvoie un nouvel objet QQuickGraphicsDevice faisant référence à un objet existant adapter QRhiAdapter .

Ne s'applique pas aux backends QRhi et aux API graphiques où QRhiAdapter n'a pas d'implémentation réelle.

Équivalent à fromAdapter() pour Direct 3D et fromPhysicalDevice() pour Vulkan.

Note : La propriété n'est pas prise pour adapter, et elle doit rester valide au minimum jusqu'à ce que le graphe de scène s'initialise, ce qui se produit très probablement lorsque le QQuickWindow associé devient exposé.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi QRhi::enumerateAdapters().

bool QQuickGraphicsDevice::isNull() const

Retourne true s'il s'agit d'un périphérique graphique construit par défaut qui ne fait référence à aucun objet natif.

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