QQuickGraphicsDevice Class
La classe `QQuickGraphicsDevice` fournit un conteneur opaque pour les objets graphiques natifs représentant des périphériques ou des contextes graphiques. En savoir plus...
| 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
| QQuickGraphicsDevice() | |
| ~QQuickGraphicsDevice() | |
| bool | isNull() const |
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) |
Voir également QQuickWindow::setGraphicsDevice() et QQuickRenderTarget.
Documentation sur les fonctions membres
QQuickGraphicsDevice::QQuickGraphicsDevice()
Crée un objet `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 un nouvel objet ` QQuickGraphicsDevice ` décrivant un adaptateur DXGI et un niveau de fonctionnalités D3D.
Cette fonction de fabrique est adaptée à Direct3D 11 et 12, en particulier en combinaison avec OpenXR. Les paramètres ` adapterLuidLow ` et ` adapterLuidHigh ` spécifient ensemble un LUID, tandis que le paramètre `featureLevel` spécifie une valeur de niveau de fonctionnalité ( D3D_FEATURE_LEVEL_ ). Le paramètre ` featureLevel ` peut être défini sur 0 s’il n’est pas prévu de le spécifier ; dans ce 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 à la fonction `D3D12CreateDevice()`.
[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromDeviceAndCommandQueue(MTLDevice *device, MTLCommandQueue *commandQueue)
Renvoie un nouvel objet ` QQuickGraphicsDevice ` faisant référence à des objets ` device ` et ` commandQueue ` existants.
Cette fonction de fabrique est adaptée à Metal.
Remarque : l' QQuickGraphicsDevice ainsi créé ne possède aucune ressource native ; il contient uniquement 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 un nouvel objet ` QQuickGraphicsDevice ` faisant référence à un périphérique natif et à un objet de contexte.
Cette fonction de création est adaptée à Direct3D 11. device doit être un ID3D11Device*, et context doit être un ID3D11DeviceContext*.
Elle prend également en charge Direct3D 12, si c’est l’API 3D utilisée lors de l’exécution. Avec D3D12, ` context ` n’est pas utilisé et peut être défini sur `null`. ` device ` doit être un ` ID3D12Device*`.
Remarque : l' QQuickGraphicsDevice ainsiobtenu ne détient 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 nouvel objet ` QQuickGraphicsDevice ` faisant référence à un objet ` device ` existant.
Cette fonction de fabrique est adaptée à Vulkan. Les paramètres ` physicalDevice`, ` device ` et ` queueFamilyIndex ` doivent toujours être fournis. Le paramètre ` queueIndex ` est facultatif, car la valeur par défaut 0 convient souvent.
Remarque : l’ QQuickGraphicsDevice ainsiobtenu 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::fromOpenGLContext(QOpenGLContext *context)
Renvoie un nouvel objet ` QQuickGraphicsDevice ` faisant référence à un objet ` context` OpenGL existant.
Cette fonction de création est adaptée à OpenGL.
Remarque : il incombe à l’appelant de s’assurer que ` context ` sera compatible et utilisable avec ` QQuickWindow`. Il revient à l’appelant d’éviter les incompatibilités spécifiques à la plate-forme dans les ` QSurfaceFormat` associées, ainsi que les problèmes de threading liés à la tentative d’utilisation de ` context ` sur plusieurs threads.
[static] QQuickGraphicsDevice QQuickGraphicsDevice::fromPhysicalDevice(VkPhysicalDevice physicalDevice)
Renvoie un nouvel objet ` QQuickGraphicsDevice ` faisant référence à un objet ` physicalDevice` existant.
Cette fonction de création est adaptée à Vulkan, en particulier lorsqu’elle est associée à OpenXR.
Remarque : l’ QQuickGraphicsDevice ainsicréé ne détient aucune ressource native ; il contient uniquement des références. Il incombe à 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.
Remarque : comme pour la fonction fromOpenGLContext(), l'appelant doit veiller à ne partager un objet QRhi (et donc le contexte graphique ou le périphérique sous-jacent) qu'entre des QQuickWindows dont la compatibilité est avérée, sans enfreindre les règles de l'API graphique sous-jacente en matière de multithreading, de 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 ` adapter ` existant de type ` QRhiAdapter `.
Ne s'applique pas aux backends QRhi et aux API graphiques pour lesquels QRhiAdapter ne dispose pas d'une implémentation réelle.
Équivalent à ` fromAdapter()` pour Direct 3D et à ` fromPhysicalDevice()` pour Vulkan.
Remarque : la propriété n’est pas prise en charge pour ` adapter`, et celui-ci doit rester valide au moins jusqu’à l’initialisation du graphe de scène, ce qui se produit très probablement lorsque l’` QQuickWindow ` associé est exposé.
Cette fonction a été introduite dans Qt 6.10.
Voir également QRhi::enumerateAdapters().
bool QQuickGraphicsDevice::isNull() const
Renvoie « true » s'il s'agit d'un périphérique graphique créé par construction 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.