Sur cette page

Qt3DRender::QPaintedTextureImage Class

class Qt3DRender::QPaintedTextureImage

Un QAbstractTextureImage qui peut être écrit par l'intermédiaire d'un QPainter. Plus....

En-tête : #include <QPaintedTextureImage>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
Hérite : Qt3DRender::QAbstractTextureImage
Statut : Déclassé

Propriétés

Fonctions publiques

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

Emplacements publics

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

Signaux

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

Fonctions protégées

virtual void paint(QPainter *painter) = 0

Description détaillée

Une QPaintedTextureImage permet de spécifier une image de texture (et donc une texture OpenGL) à l'aide d'une adresse QPainter. La largeur et la hauteur de l'image de texture peuvent être spécifiées à l'aide des propriétés width et height ou size.

Une QPaintedTextureImage doit être sous-classée et la fonction virtuelle paint() doit être implémentée. Chaque fois que update() est appelé sur la QPaintedTextureImage, la fonction paint() est invoquée et l'image résultante est téléchargée.

La QPaintedTextureImage doit être attachée à une certaine QAbstractTexture.

Documentation sur les propriétés

height : int

Cette propriété indique la hauteur de l'image de texture. La hauteur doit être supérieure ou égale à 1.

Fonctions d'accès :

int height() const
void setHeight(int h)

Signal de notification :

void heightChanged(int w)

size : QSize

Cette propriété indique la taille de l'image de texture.

Fonctions d'accès :

QSize size() const
void setSize(QSize size)

Signal Notifier :

void sizeChanged(QSize size)

Voir aussi height et width.

width : int

Cette propriété indique la largeur de l'image de texture. La largeur doit être supérieure ou égale à 1.

Fonctions d'accès :

int width() const
void setWidth(int w)

Signal Notificateur :

void widthChanged(int w)

Member Function Documentation

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

Peint l'image de texture avec l'objet QPainter spécifié painter.

QPainter OpenGL considère le coin supérieur gauche d'une image comme son origine, alors qu'OpenGL considère le coin inférieur gauche d'une texture comme son origine. Une façon simple de prendre en compte cette différence est de définir une fenêtre de visualisation personnalisée sur le peintre avant d'effectuer toute autre peinture :

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

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

Définit la hauteur (h) de l'image de texture. Déclenche une mise à jour si la taille change.

Remarque : fonction de définition de la propriété height.

Voir également height().

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

Définit la largeur et la hauteur de l'image de texture. Déclenche une mise à jour si l'adresse size change.

Remarque : fonction de définition de la propriété size.

Voir également size().

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

Définit la largeur (w) de l'image de texture. Déclenche une mise à jour si la taille change.

Remarque : fonction de définition de la propriété width.

Voir également width().

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

Déclenche immédiatement la fonction paint() de la texture peinte, qui télécharge à son tour la nouvelle image sur le GPU. Si vous apportez plusieurs modifications à une texture peinte, attendez que toutes les modifications soient terminées avant d'appeler update, afin de minimiser le nombre de repeints nécessaires.

Le paramètre rect est actuellement inutilisé.

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