QQuickTextureFactory Class

Die Klasse QQuickTextureFactory bietet eine Schnittstelle zum Laden benutzerdefinierter Texturen aus QML. Mehr...

Kopfzeile: #include <QQuickTextureFactory>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Vererbungen: 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)

Detaillierte Beschreibung

Der Zweck der Texturfabrik ist es, einen Platzhalter für Bilddaten bereitzustellen, die in eine OpenGL-Textur umgewandelt werden können.

Die direkte Erstellung 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()

Konstruiert eine Textur-Fabrik. Da QQuickTextureFactory abstrakt ist, kann sie nicht direkt instanziiert werden.

[override virtual noexcept] QQuickTextureFactory::~QQuickTextureFactory()

Zerstört die Texturfabrik.

[pure virtual] QSGTexture *QQuickTextureFactory::createTexture(QQuickWindow *window) const

Diese Funktion wird im Szenengraphen-Rendering-Thread aufgerufen, um eine QSGTexture -Instanz aus der Factory zu erstellen. window liefert den Kontext, in dem diese Textur erstellt wird.

QML wird die zurückgegebene Textur bei Bedarf intern zwischenspeichern. Jeder Aufruf dieser Funktion sollte eine eindeutige Instanz zurückgeben.

Der OpenGL-Kontext, der für das Rendering verwendet wird, ist gebunden, wenn diese Funktion aufgerufen wird.

[virtual] QImage QQuickTextureFactory::image() const

Gibt eine Bildversion dieser Textur zurück.

Die Lebensdauer des zurückgegebenen Bildes ist nicht bekannt, daher sollte die Implementierung ein eigenständiges QImage zurückgeben und nicht den QImage(uchar *, ...) Konstruktor verwenden.

Diese Funktion wird nicht häufig verwendet und ist voraussichtlich langsam.

[pure virtual] int QQuickTextureFactory::textureByteCount() const

Gibt die Anzahl der Bytes an Speicher zurück, die die Textur verbraucht.

[static] QQuickTextureFactory *QQuickTextureFactory::textureFactoryForImage(const QImage &image)

Gibt ein QQuickTextureFactory zurück, das die angegebene image enthält.

Dies wird in der Regel als Hilfsmittel in QQuickImageResponse::textureFactory verwendet.

[pure virtual] QSize QQuickTextureFactory::textureSize() const

Gibt die Größe der Textur zurück. Diese Funktion wird von beliebigen Threads aus aufgerufen und sollte nicht von einem OpenGL-Kontext abhängen.

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