Sur cette page

QCustomSeriesCanvasRenderer Class

La classe `QCustomSeriesCanvasRenderer` permet de mettre en œuvre un rendu personnalisé pour une ` QCustomSeries ` lorsque le moteur de dessin « canvas » haute performance est utilisé. En savoir plus...

En-tête : #include <QCustomSeriesCanvasRenderer>
CMake : find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
Depuis : Qt 6.12

Fonctions publiques

QCustomSeriesCanvasRenderer()
virtual void canvasPrePaint(QCanvasPainter *p)
virtual void initializeResources(QCustomSeries *series, QCanvasPainter *p)
virtual void synchronizeData(QCustomSeries *series, QCanvasPainterItem *item)

Description détaillée

Implémentez la fonction canvasPaint() pour dessiner un QCustomSeries. Définissez le moteur de rendu de la série à l'aide de QCustomSeries::setCustomSeriesPainter(), que la série expose ensuite via QCustomSeries::customSeriesPainter().

Les fonctions canvasPaint() et canvasPrePaint() sont appelées depuis le thread de rendu du graphe de scène d’Qt Quick et, contrairement à initializeResources() et synchronizeData(), ne reçoivent pas l’ QCustomSeries e à laquelle elles appartiennent. Copiez tout ce dont canvasPaint() a besoin dans l’instance du moteur de rendu dans synchronizeData(), qui s’exécute pendant que le thread de l’interface graphique est bloqué et qui est le seul endroit où il est sûr de lire les données du thread de l’interface graphique.

Voir également QCustomSeries et QCustomSeries::setCustomSeriesPainter().

Documentation des fonctions membres

[constexpr noexcept default] QCustomSeriesCanvasRenderer::QCustomSeriesCanvasRenderer()

Construit par défaut une instance de ` QCustomSeriesCanvasRenderer`.

[virtual] void QCustomSeriesCanvasRenderer::canvasPrePaint(QCanvasPainter *p)

Réimplémentez cette méthode pour préparer le rendu à l'aide de ` p`, en vous basant sur l'état précédemment copié dans cette instance par ` synchronizeData()`. Cette méthode est appelée immédiatement avant `canvasPaint()` pour cette même instance, depuis le thread de rendu ; n'accédez pas à l'état des séries ou des éléments ici.

Voir également canvasPaint ().

[virtual] void QCustomSeriesCanvasRenderer::initializeResources(QCustomSeries *series, QCanvasPainter *p)

Réimplémentez cette méthode pour initialiser les ressources d'series à l'aide de p. Elle est appelée une seule fois avant le premier appel à synchronizeData() pour series.

Voir également QCanvasPainter ::addImage et QCanvasPainter::createCanvas.

[virtual] void QCustomSeriesCanvasRenderer::synchronizeData(QCustomSeries *series, QCanvasPainterItem *item)

Réimplémentez cette méthode pour copier les données nécessaires au dessin de series depuis item vers cette instance de rendu. Cette méthode est appelée avant canvasPaint() chaque fois que series doit être redessiné.

Cette méthode est le seul endroit où il est possible de lire en toute sécurité l'état géré par l'interface graphique de series ou item, car elle s'exécute pendant que le thread de l'interface graphique est bloqué au point de synchronisation Qt Quick. N'accédez pas à cet état depuis canvasPaint() ou canvasPrePaint().

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