Auf dieser Seite

QQuickGraphicsDevice Class

Die Klasse „QQuickGraphicsDevice“ stellt einen undurchsichtigen Container für native Grafikobjekte bereit, die Grafikgeräte oder -kontexte darstellen. Mehr...

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

Öffentliche Funktionen

Statische öffentliche Mitglieder

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)

Ausführliche Beschreibung

Siehe auch „ QQuickWindow::setGraphicsDevice()“ und „ QQuickRenderTarget “.

Dokumentation zu Mitgliedsfunktionen

QQuickGraphicsDevice::QQuickGraphicsDevice()

Erstellt ein Standard-QQuickGraphicsDevice, das auf keine nativen Objekte verweist.

[noexcept] QQuickGraphicsDevice::~QQuickGraphicsDevice()

Destruktor.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das einen DXGI-Adapter und eine D3D-Funktionsstufe beschreibt.

Diese Factory-Funktion eignet sich für Direct3D 11 und 12, insbesondere in Kombination mit OpenXR. „ adapterLuidLow “ und „ adapterLuidHigh “ legen gemeinsam eine LUID fest, während „featureLevel“ einen Wert für „ D3D_FEATURE_LEVEL_ “ angibt. „ featureLevel “ kann auf 0 gesetzt werden, wenn keine Angabe erfolgen soll; in diesem Fall werden die Standardwerte des Szenengraphen verwendet.

Hinweis: Bei Direct 3D 12 gibt „ featureLevel “ die an „D3D12CreateDevice()“ übergebene „ minimum “-Funktionsstufe an.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes ` device `- und ` commandQueue `-Objekt verweist.

Diese Factory-Funktion ist für Metal geeignet.

Hinweis: Das resultierende „ QQuickGraphicsDevice “-Objekt besitzt keine nativen Ressourcen, sondern enthält lediglich Verweise. Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass die native Ressource so lange wie nötig vorhanden ist.

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

Gibt einen neuen ` QQuickGraphicsDevice ` zurück, der auf ein natives Geräte- und Kontextobjekt verweist.

Diese Factory-Funktion ist für Direct3D 11 geeignet. „ device “ muss ein „ ID3D11Device* “ sein, „ context “ muss ein „ ID3D11DeviceContext* “ sein.

Sie unterstützt auch Direct3D 12, sofern dies die zur Laufzeit verwendete 3D-API ist. Bei D3D12 wird ` context ` nicht verwendet und kann auf `null` gesetzt werden. Es wird erwartet, dass ` device ` ein ` ID3D12Device*` ist.

Hinweis: Das resultierende ` QQuickGraphicsDevice ` besitzt keine nativen Ressourcen, es enthält lediglich Verweise. Es liegt in der Verantwortung des Aufrufenden, sicherzustellen, dass die native Ressource so lange wie nötig vorhanden ist.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes ` device `-Objekt verweist.

Diese Factory-Funktion ist für Vulkan geeignet. „ physicalDevice “, „ device “ und „ queueFamilyIndex “ müssen immer angegeben werden. „ queueIndex “ ist optional, da der Standardwert 0 oft geeignet ist.

Hinweis: Das resultierende ` QQuickGraphicsDevice ` besitzt keine nativen Ressourcen, sondern enthält lediglich Verweise. Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass die native Ressource so lange wie nötig vorhanden ist.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes `OpenGL context` verweist.

Diese Factory-Funktion ist für OpenGL geeignet.

Hinweis: Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass ` context ` mit ` QQuickWindow` kompatibel und verwendbar ist. Plattformspezifische Inkompatibilitäten in den zugehörigen ` QSurfaceFormat` oder Threading-Probleme, die durch den Versuch entstehen, ` context ` in mehreren Threads zu verwenden, müssen vom Aufrufer vermieden werden.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes ` physicalDevice` verweist.

Diese Factory-Funktion eignet sich für Vulkan, insbesondere in Kombination mit OpenXR.

Hinweis: Das resultierende ` QQuickGraphicsDevice ` besitzt keine nativen Ressourcen, sondern enthält lediglich Verweise. Es liegt in der Verantwortung des Aufrufenden, sicherzustellen, dass die native Ressource so lange wie nötig vorhanden ist.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes ` rhi `-Objekt verweist.

Hinweis: Ähnlich wie bei ` fromOpenGLContext()` muss der Aufrufer darauf achten, ein ` QRhi ` (und damit den zugrunde liegenden Grafikkontext oder das Gerät) nur zwischen QQuickWindows zu teilen, von denen bekannt ist, dass sie kompatibel sind, und dabei die Regeln der zugrunde liegenden Grafik-API in Bezug auf Threading, Pixelformate usw. nicht zu verletzen.

Diese Funktion wurde in Qt 6.6 eingeführt.

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

Gibt ein neues ` QQuickGraphicsDevice ` zurück, das auf ein vorhandenes ` adapter `-Objekt verweist: QRhiAdapter.

Gilt nicht für „ QRhi “-Backends und Grafik-APIs, bei denen „ QRhiAdapter “ keine tatsächliche Implementierung besitzt.

Entspricht „ fromAdapter()“ für Direct 3D und „ fromPhysicalDevice()“ für Vulkan.

Hinweis: Für ` adapter` wird keinBesitz übernommen, und es muss mindestens so lange gültig bleiben, bis der Szenengraph initialisiert ist, was höchstwahrscheinlich geschieht, wenn das zugehörige ` QQuickWindow ` freigegeben wird.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch QRhi::enumerateAdapters().

bool QQuickGraphicsDevice::isNull() const

Gibt „true“ zurück, wenn es sich um ein per Standardkonstruktion erstelltes Grafikgerät handelt, das auf keine nativen Objekte verweist.

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