このページでは

QCustomSeriesCanvasRenderer Class

QCustomSeriesCanvasRenderer クラスを使用すると、高性能なキャンバスピンターバックエンドが使用されている場合に、QCustomSeries に対してカスタマイズされたレンダリングを実装することができます。詳細...

ヘッダー: #include <QCustomSeriesCanvasRenderer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
以下のように: Qt 6.12

パブリック関数

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

詳細な説明

QCustomSeries を描画するには、canvasPaint() を実装します。QCustomSeries::setCustomSeriesPainter() を使用して、シリーズにレンダラーを設定します。これにより、シリーズは QCustomSeries::customSeriesPainter() を通じてそのレンダラーを公開します。

canvasPaint() およびcanvasPrePaint() は、Qt Quick のシーングラフ・レンダリングスレッドから呼び出され、initializeResources() やsynchronizeData() とは異なり、それらが属するQCustomSeries を受け取りません。canvasPaint() に必要なデータはすべて、synchronizeData() 内でレンダラーインスタンスにコピーしてください。 () は GUI スレッドがブロックされている間に実行され、GUI スレッドのデータを安全に読み取れる唯一の場所です。

QCustomSeries およびQCustomSeries::setCustomSeriesPainter()も参照してください 。

メンバ関数のドキュメント

[constexpr noexcept default] QCustomSeriesCanvasRenderer::QCustomSeriesCanvasRenderer()

QCustomSeriesCanvasRenderer のインスタンスをデフォルトコンストラクタで生成します。

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

このメソッドを再実装し、synchronizeData() によって以前にこのインスタンスにコピーされた状態に基づいて、p を使用してレンダリングの準備を行ってください。このメソッドは、レンダリングスレッドから、この同じインスタンスの canvasPaint() の直前に呼び出されます。ここでは、シリーズや項目の状態にはアクセスしないでください。

canvasPaint() も参照してください 。

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

p を使用して、series のリソースを初期化するために、このメソッドを再実装してください。これは、series に対して最初のsynchronizeData() が呼び出される前に一度呼び出されます。

QCanvasPainter ::addImage および QCanvasPainter::createCanvasも参照してください 。

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

このメソッドを再実装し、series の描画に必要なデータをitem からこのレンダラーインスタンスにコピーしてください。これは、series の再描画が必要になるたびに、canvasPaint()の前に呼び出されます。

このメソッドは、GUIスレッドがQt Quick の同期ポイントでブロックされている間に実行されるため、series またはitem のGUIが所有する状態を直接読み取っても安全な唯一の場所です。canvasPaint()や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.