Auf dieser Seite

Qt3DRender::QPaintedTextureImage Class

class Qt3DRender::QPaintedTextureImage

Ein „ QAbstractTextureImage “, der über „ QPainter “ geschrieben werden kann. Mehr dazu...

Überschrift: #include <qpaintedtextureimage.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Erbt von: Qt3DRender::QAbstractTextureImage
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

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

Ausführliche Beschreibung

Ein `QPaintedTextureImage` bietet die Möglichkeit, ein Texturbild (und damit eine OpenGL-Textur) über ` QPainter` anzugeben. Die Breite und Höhe des Texturbilds können über die Eigenschaften `width`, `height` oder `size` festgelegt werden.

Ein `QPaintedTextureImage` muss unterklassenisiert und die virtuelle Funktion ` paint()` implementiert werden. Jedes Mal, wenn ` update()` für das `QPaintedTextureImage` aufgerufen wird, wird die Funktion ` paint()` aufgerufen und das resultierende Bild hochgeladen.

Das `QPaintedTextureImage` muss an ein ` QAbstractTexture` angehängt sein.

Dokumentation zu den Eigenschaften

height : int

Diese Eigenschaft gibt die Höhe des Texturbildes an. Die Höhe muss größer oder gleich 1 sein.

Zugriffsfunktionen:

int height() const
void setHeight(int h)

Notifier-Signal:

void heightChanged(int w)

size : QSize

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

Zugriffsfunktionen:

QSize size() const
void setSize(QSize size)

Notifier-Signal:

void sizeChanged(QSize size)

Siehe auch height und width.

width : int

Diese Eigenschaft gibt die Breite des Texturbildes an. Die Breite muss größer oder gleich 1 sein.

Zugriffsfunktionen:

int width() const
void setWidth(int w)

Notifier-Signal:

void widthChanged(int w)

Dokumentation der Mitgliedsfunktionen

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

Zeichnet das Texturbild mit dem angegebenen „ QPainter “-Objekt „ painter “ auf.

QPainter betrachtet die obere linke Ecke eines Bildes als Ursprung, während OpenGL die untere linke Ecke einer Textur als Ursprung betrachtet. Eine einfache Möglichkeit, diesen Unterschied zu berücksichtigen, besteht darin, vor dem Zeichnen einen benutzerdefinierten Ansichtsbereich für den „Painter“ festzulegen:

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 „ 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 gezeichneten Textur aus, die wiederum das neue Bild auf die GPU überträgt. Wenn Sie mehrere Änderungen an einer gezeichneten Textur vornehmen, sollten Sie in Betracht ziehen, mit dem Aufruf von „update“ zu warten, bis alle Änderungen abgeschlossen sind, um die Anzahl der erforderlichen Neuzeichnungen zu minimieren.

Der Parameter „ rect “ wird derzeit nicht verwendet.

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