QQuickTextureFactory Class
Die Klasse „QQuickTextureFactory“ bietet eine Schnittstelle zum Laden benutzerdefinierter Texturen aus QML. Mehr...
| Header: | #include <QQuickTextureFactory> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake: | QT += quick |
| Erbt von: | QObject |
Öffentliche Funktionen
| QQuickTextureFactory() | |
| virtual | ~QQuickTextureFactory() override |
| virtual QSGTexture * | createTexture(QQuickWindow *window) const = 0 |
| virtual QImage | image() const |
| virtual int | textureByteCount() const = 0 |
| virtual QSize | textureSize() const = 0 |
Statische öffentliche Mitglieder
| QQuickTextureFactory * | textureFactoryForImage(const QImage &image) |
Ausführliche Beschreibung
Der Zweck der Textur-Factory besteht darin, einen Platzhalter für Bilddaten bereitzustellen, die in eine OpenGL-Textur konvertiert werden können.
Das direkte Erstellen einer Textur ist nicht möglich, da in dem Thread, der für das Laden der Bilddaten zuständig ist, selten ein OpenGL-Kontext verfügbar ist.
Dokumentation der Mitgliedsfunktionen
QQuickTextureFactory::QQuickTextureFactory()
Erstellt eine Textur-Factory. Da `QQuickTextureFactory` abstrakt ist, kann sie nicht direkt instanziiert werden.
[override virtual noexcept] QQuickTextureFactory::~QQuickTextureFactory()
Löst die Textur-Factory auf.
[pure virtual] QSGTexture *QQuickTextureFactory::createTexture(QQuickWindow *window) const
Diese Funktion wird im Rendering-Thread des Szenengraphen aufgerufen, um eine Instanz von „ QSGTexture “ über die Factory zu erstellen. „ window “ liefert den Kontext, in dem diese Textur erstellt wird.
QML speichert die zurückgegebene Textur bei Bedarf intern im Cache. Jeder Aufruf dieser Funktion sollte eine eindeutige Instanz zurückgeben.
Der für das Rendering verwendete OpenGL-Kontext wird beim Aufruf dieser Funktion gebunden.
[virtual] QImage QQuickTextureFactory::image() const
Gibt eine Bildversion dieser Textur zurück.
Die Lebensdauer des zurückgegebenen Bildes ist unbekannt, daher sollte die Implementierung ein eigenständiges ` QImage` zurückgeben und nicht den Konstruktor ` QImage(uchar *, ...)` verwenden.
Diese Funktion wird nicht häufig verwendet und ist voraussichtlich langsam.
[pure virtual] int QQuickTextureFactory::textureByteCount() const
Gibt die Anzahl der Bytes zurück, die die Textur im Speicher belegt.
[static] QQuickTextureFactory *QQuickTextureFactory::textureFactoryForImage(const QImage &image)
Gibt ein ` QQuickTextureFactory ` zurück, das die angegebene ` image` enthält.
Dies wird typischerweise als Hilfsfunktion in ` QQuickImageResponse::textureFactory` verwendet.
[pure virtual] QSize QQuickTextureFactory::textureSize() const
Gibt die Größe der Textur zurück. Diese Funktion wird von beliebigen Threads aufgerufen und sollte nicht auf eine Bindung an einen OpenGL-Kontext angewiesen sein.
© 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.