Qt3DRender::QPaintedTextureImage Class
class Qt3DRender::QPaintedTextureImageEin „ 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
Öffentliche Slots
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) |
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.