Auf dieser Seite

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.