QCanvasPainterItem Class
La classe QCanvasPainterItem permet d'utiliser l'API Qt Canvas Painter dans le graphique de scène QML. Plus d'informations...
| En-tête : | #include <QCanvasPainterItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| Depuis : | Qt 6.11 |
| Hérite : | QQuickRhiItem |
| Statut : | Technical Preview |
Propriétés
Fonctions publiques
| QCanvasPainterItem(QQuickItem *parent = nullptr) | |
| virtual | ~QCanvasPainterItem() override |
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
Signaux
| void | debugChanged() |
| void | fillColorChanged() |
Fonctions protégées
| virtual QCanvasPainterItemRenderer * | createItemRenderer() const = 0 |
Fonctions protégées réimplémentées
| virtual QQuickRhiItemRenderer * | createRenderer() override |
Description détaillée
Pour écrire votre propre objet peint, vous devez d'abord créer une sous-classe de QCanvasPainterItem, puis commencer par implémenter sa seule fonction publique virtuelle pure : createItemRenderer(), qui renvoie un objet qui effectue la peinture proprement dite.
L'extrait de code ci-dessous montre la structure typique d'une sous-classe de QCanvasPainterItem. Voir QCanvasPainterItemRenderer pour un exemple de la classe MyRenderer.
class MyItem : public QCanvasPainterItem { Q_OBJECT QML_NAMED_ELEMENT(MyItem) // exposed to QML, instantiate as MyItem { ... } // a custom property Q_PROPERTY(float value READ value WRITE setValue NOTIFY valueChanged) public: HelloItem(QQuickItem *parent = nullptr) : QCanvasPainterItem(parent) { } QCanvasPainterItemRenderer *createItemRenderer() const override { return new MyRenderer; } float value() const { return m_value; } void setValue(float newValue) { if (m_value != newValue) { m_value = newValue; emit valueChanged(); } } float m_value = 0.0f; };
Voir également QCanvasPainterItemRenderer.
Documentation sur les propriétés
[read-only] debug : QVariantMap
Contient une carte clé-valeur des statistiques de rendu. Les données ne sont collectées que lorsque la variable d'environnement QCPAINTER_DEBUG_COLLECT a une valeur non nulle.
Les données sont mises à jour périodiquement, et non à chaque fois que l'élément est repeint. L'intervalle est actuellement d'une seconde. Par conséquent, les données reçues font souvent référence à un dessin antérieur de l'élément. Ce n'est généralement pas un problème lors de l'affichage interactif des statistiques, mais il est important d'en être conscient.
Pour afficher automatiquement les données à l'intérieur de l'élément sous la forme d'une superposition, définissez plutôt la variable d'environnement QCPAINTER_DEBUG_RENDER. Il s'agit d'un raccourci pratique lorsque l'intention est de toute façon d'afficher les valeurs à l'écran.
La liste des clés est actuellement la suivante :
- fillDrawCallCount
- strokeDrawCallCount
- textDrawCallCount
- fillTriangleCount
- comptageTriangleCourse
- compteTriangle de texte
- comptage de l'appel de dessin
- triangleCount
Signal du notificateur :
| void | debugChanged() |
fillColor : QColor
Cette propriété définit la couleur à utiliser pour remplir l'élément, c'est-à-dire l'arrière-plan de l'élément.
La couleur par défaut est le noir.
Fonctions d'accès :
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
Signal Notificateur :
| void | fillColorChanged() |
Fonction membre Documentation
QCanvasPainterItem::QCanvasPainterItem(QQuickItem *parent = nullptr)
Construit un élément QCanvasPainterItem avec l'élément parent donné.
[override virtual noexcept] QCanvasPainterItem::~QCanvasPainterItem()
Détruit le site QCanvasPainterItem.
[pure virtual protected] QCanvasPainterItemRenderer *QCanvasPainterItem::createItemRenderer() const
Cette méthode permet de (re)créer un peintre pour cet élément. La classe de peintre doit être héritée de QCanvasPainterItemRenderer. QCanvasPainterItem est propriétaire de l'objet créé et le supprime si nécessaire.
Exemple de code :
QCanvasPainterItemRenderer* MyItem::createItemRenderer() const { return new MyItemPainter() ; }
[override virtual protected] QQuickRhiItemRenderer *QCanvasPainterItem::createRenderer()
Réimplémente : QQuickRhiItem::createRenderer().
QColor QCanvasPainterItem::fillColor() const
Renvoie la couleur de remplissage actuelle.
Remarque : fonction Getter pour la propriété fillColor.
Voir également setFillColor().
void QCanvasPainterItem::setFillColor(const QColor &color)
Définissez la couleur de remplissage sur color. Cette couleur sera utilisée pour dessiner l'arrière-plan de l'élément. La couleur par défaut est le noir.
Remarque : lorsque la couleur de remplissage n'est pas totalement opaque (canal alpha inférieur à 255), n'oubliez pas de définir également alphaBlending sur true.
Note : Fonction de définition de la propriété fillColor.
Voir également fillColor() et QQuickRhiItem::alphaBlending.
© 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.