QPaintedTextureImage Class

class Qt3DRender::QPaintedTextureImage

Eine QAbstractTextureImage, die über eine QPainter geschrieben werden kann. Mehr....

Kopfzeile: #include <QPaintedTextureImage>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Vererbt: Qt3DRender::QAbstractTextureImage
Status: Veraltet

Eigenschaften

Öffentliche Funktionen

int height() const
QSize size() const
void update(const QRect &rect = QRect())
int width() const

Öffentliche Slots

void setHeight(int h)
void setSize(QSize size)
void setWidth(int w)

Signale

void heightChanged(int w)
void sizeChanged(QSize size)
void widthChanged(int w)

Geschützte Funktionen

virtual void paint(QPainter *painter) = 0

Detaillierte Beschreibung

Ein QPaintedTextureImage bietet eine Möglichkeit, ein Texturbild (und damit eine OpenGL-Textur) durch eine QPainter zu spezifizieren. Die Breite und Höhe des Texturbildes kann durch die Eigenschaften width und height oder size angegeben werden.

Ein QPaintedTextureImage muss subclassed werden und die virtuelle Funktion paint() muss implementiert werden. Jedes Mal, wenn update() auf dem QPaintedTextureImage aufgerufen wird, wird die Funktion paint() aufgerufen und das resultierende Bild wird hochgeladen.

Das QPaintedTextureImage muss mit einer QAbstractTexture verbunden sein.

Dokumentation der Eigenschaft

height : int

Diese Eigenschaft enthält die Höhe des Texturbildes. Die Höhe muss größer als oder gleich 1 sein.

Zugriffsfunktionen:

int height() const
void setHeight(int h)

Benachrichtigungssignal:

void heightChanged(int w)

size : QSize

Diese Eigenschaft gibt die Größe des Texturbildes an.

Zugriffsfunktionen:

QSize size() const
void setSize(QSize size)

Benachrichtigungssignal:

void sizeChanged(QSize size)

Siehe auch height und width.

width : int

Diese Eigenschaft enthält die Breite des Texturbildes. Die Breite muss größer als oder gleich 1 sein.

Zugriffsfunktionen:

int width() const
void setWidth(int w)

Benachrichtigungssignal:

void widthChanged(int w)

Member Function Dokumentation

[pure virtual protected] void QPaintedTextureImage::paint(QPainter *painter)

Zeichnet das Texturbild mit dem angegebenen QPainter Objekt painter.

QPainter betrachtet die linke obere Ecke eines Bildes als seinen Ursprung, während OpenGL die linke untere Ecke einer Textur als Ursprung betrachtet. Eine einfache Möglichkeit, diesen Unterschied zu berücksichtigen, besteht darin, ein benutzerdefiniertes Ansichtsfenster für den Painter festzulegen, bevor andere Malvorgänge durchgeführt werden:

painter->setViewport(0, height(), width(), -height());
...

[slot] void QPaintedTextureImage::setHeight(int h)

Legt die Höhe (h) des Texturbildes fest. Löst eine Aktualisierung aus, wenn sich die Größe ändert.

Hinweis: Setter-Funktion für die Eigenschaft height.

Siehe auch height().

[slot] void QPaintedTextureImage::setSize(QSize size)

Legt die Breite und Höhe des Texturbildes fest. Löst eine Aktualisierung aus, wenn sich die size ändert.

Hinweis: Setter-Funktion für die Eigenschaft size.

Siehe auch size().

[slot] void QPaintedTextureImage::setWidth(int w)

Legt die Breite (w) des Texturbildes fest. Löst eine Aktualisierung aus, wenn sich die Größe ändert.

Hinweis: Setter-Funktion für die Eigenschaft width.

Siehe auch width().

void QPaintedTextureImage::update(const QRect &rect = QRect())

Löst sofort die Funktion paint() der gemalten Textur aus, die ihrerseits das neue Bild auf die GPU hochlädt. Wenn Sie mehrere Änderungen an einer gemalten Textur vornehmen, sollten Sie mit dem Aufruf von update warten, bis alle Änderungen abgeschlossen sind, um die Anzahl der erforderlichen Neuübertragungen zu minimieren.

Der Parameter rect ist derzeit unbenutzt.

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