QSGSimpleTextureNode Class

Die Klasse QSGSimpleTextureNode dient dazu, texturierte Inhalte mit Hilfe des QML-Szenengraphs einfach zu zeichnen. Mehr...

Kopfzeile: #include <QSGSimpleTextureNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Vererbt: QSGGeometryNode

Öffentliche Typen

enum TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically }
flags TextureCoordinatesTransformMode

Öffentliche Funktionen

QSGSimpleTextureNode()
virtual ~QSGSimpleTextureNode() override
QSGTexture::Filtering filtering() const
bool ownsTexture() const
QRectF rect() const
void setFiltering(QSGTexture::Filtering filtering)
void setOwnsTexture(bool owns)
void setRect(const QRectF &r)
void setRect(qreal x, qreal y, qreal w, qreal h)
void setSourceRect(const QRectF &r)
void setSourceRect(qreal x, qreal y, qreal w, qreal h)
void setTexture(QSGTexture *texture)
void setTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode)
QRectF sourceRect() const
QSGTexture *texture() const
QSGSimpleTextureNode::TextureCoordinatesTransformMode textureCoordinatesTransform() const

Detaillierte Beschreibung

Warnung: Die einfache Texturknotenklasse muss eine Textur haben, bevor sie dem zu rendernden Szenegraphen hinzugefügt wird.

Warnung: Diese Utility-Klasse ist nur funktionsfähig, wenn sie mit den Standard- oder Software-Backends des Qt Quick -Szenegraphen läuft. Als Alternative können Sie QSGImageNode über QQuickWindow::createImageNode() verwenden. Diese eigenständige Klasse ist jedoch immer noch nützlich, wenn sie über eine Unterklasse verwendet wird und die Anwendung weiß, dass keine speziellen Scenegraph-Backends beteiligt sind.

Dokumentation der Mitgliedstypen

enum QSGSimpleTextureNode::TextureCoordinatesTransformFlag
flags QSGSimpleTextureNode::TextureCoordinatesTransformMode

Das Enum TextureCoordinatesTransformFlag wird verwendet, um den Modus festzulegen, der zur Erzeugung von Texturkoordinaten für ein texturiertes Quad verwendet wird.

KonstanteWertBeschreibung
QSGSimpleTextureNode::NoTransform0x00Die Texturkoordinaten orientieren sich an den Fensterkoordinaten, d.h. der Ursprung befindet sich oben links.
QSGSimpleTextureNode::MirrorHorizontally0x01Die Texturkoordinaten werden in der horizontalen Achse in Bezug auf die Fensterkoordinaten invertiert.
QSGSimpleTextureNode::MirrorVertically0x02Die Texturkoordinaten werden in der vertikalen Achse in Bezug auf die Fensterkoordinaten invertiert.

Der Typ TextureCoordinatesTransformMode ist ein Typedef für QFlags<TextureCoordinatesTransformFlag>. Er speichert eine ODER-Kombination von TextureCoordinatesTransformFlag-Werten.

Dokumentation der Mitgliedsfunktionen

QSGSimpleTextureNode::QSGSimpleTextureNode()

Konstruiert einen neuen einfachen Texturknoten

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

Zerstört den Texturknoten

QSGTexture::Filtering QSGSimpleTextureNode::filtering() const

Gibt die Filterung zurück, die derzeit für diesen Texturknoten eingestellt ist.

Siehe auch setFiltering().

bool QSGSimpleTextureNode::ownsTexture() const

Gibt true zurück, wenn der Knoten das Eigentum an der Textur übernimmt; andernfalls wird false zurückgegeben.

Siehe auch setOwnsTexture().

QRectF QSGSimpleTextureNode::rect() const

Gibt das Ziel-Rect dieses Texturknotens zurück.

Siehe auch setRect().

void QSGSimpleTextureNode::setFiltering(QSGTexture::Filtering filtering)

Setzt die für diesen Texturknoten zu verwendende Filterung auf filtering.

Für glatte Skalierung verwenden Sie QSGTexture::Linear; für normale Skalierung verwenden Sie QSGTexture::Nearest.

Siehe auch filtering().

void QSGSimpleTextureNode::setOwnsTexture(bool owns)

Legt fest, ob der Knoten das Eigentum an der Textur auf owns übernimmt.

Standardmäßig übernimmt der Knoten nicht das Eigentum an der Textur.

Siehe auch ownsTexture() und setTexture().

void QSGSimpleTextureNode::setRect(const QRectF &r)

Setzt das Ziel-Rect dieses Texturknotens auf r.

Siehe auch rect().

void QSGSimpleTextureNode::setRect(qreal x, qreal y, qreal w, qreal h)

Dies ist eine überladene Funktion.

Legt das Rechteck dieses Texturknotens so fest, dass es bei (x, y) beginnt und die Breite w und die Höhe h hat.

void QSGSimpleTextureNode::setSourceRect(const QRectF &r)

Setzt das Quell-Rect dieses Texturknotens auf r.

Siehe auch sourceRect().

void QSGSimpleTextureNode::setSourceRect(qreal x, qreal y, qreal w, qreal h)

Dies ist eine überladene Funktion.

Legt das Rechteck dieses Texturknotens so fest, dass seine Textur von (x, y) angezeigt wird und Breite w und Höhe h relativ zu QSGTexture::textureSize hat.

void QSGSimpleTextureNode::setTexture(QSGTexture *texture)

Setzt die Textur dieses Texturknotens auf texture.

Verwenden Sie setOwnsTexture(), um festzulegen, ob der Knoten das Eigentum an der Textur übernehmen soll. Standardmäßig übernimmt der Knoten die Textur nicht.

Warnung: Ein Texturknoten muss eine Textur haben, bevor er dem zu rendernden Szenegraphen hinzugefügt wird.

Siehe auch texture().

void QSGSimpleTextureNode::setTextureCoordinatesTransform(QSGSimpleTextureNode::TextureCoordinatesTransformMode mode)

Legt die Methode zur Erzeugung von Texturkoordinaten auf mode fest. Dies kann verwendet werden, um die korrekte Ausrichtung der Textur zu erhalten. Dies ist in der Regel erforderlich, wenn eine OpenGL-Bibliothek eines Drittanbieters zum Rendern der Textur verwendet wird, da OpenGL eine invertierte y-Achse relativ zu Qt Quick hat.

Siehe auch textureCoordinatesTransform().

QRectF QSGSimpleTextureNode::sourceRect() const

Gibt das Quell-Rect dieses Texturknotens zurück.

Siehe auch setSourceRect().

QSGTexture *QSGSimpleTextureNode::texture() const

Liefert die Textur für diesen Texturknoten

Siehe auch setTexture().

QSGSimpleTextureNode::TextureCoordinatesTransformMode QSGSimpleTextureNode::textureCoordinatesTransform() const

Gibt den Modus zurück, der zur Erzeugung von Texturkoordinaten für diesen Knoten verwendet wurde.

Siehe auch setTextureCoordinatesTransform().

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