QCanvasPainterItem Class
QCanvasPainterItem クラスは、QML Scene Graphs で Qt Canvas Painter API を使用する方法を提供します。詳細...
| ヘッダ | #include <QCanvasPainterItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 以来: | Qt 6.11 |
| を継承しています: | QQuickRhiItem |
| ステータス | 技術プレビュー |
プロパティ
パブリック機能
| QCanvasPainterItem(QQuickItem *parent = nullptr) | |
| virtual | ~QCanvasPainterItem() override |
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
シグナル
| void | debugChanged() |
| void | fillColorChanged() |
プロテクト関数
| virtual QCanvasPainterItemRenderer * | createItemRenderer() const = 0 |
再実装されたプロテクト関数
| virtual QQuickRhiItemRenderer * | createRenderer() override |
詳細説明
独自のペイント アイテムを作成するには、まず QCanvasPainterItem のサブクラスを作成し、唯一の純粋な仮想パブリック関数であるcreateItemRenderer() を実装します。
以下のコード スニペットは、QCanvasPainterItem サブクラスの典型的な構造を示しています。MyRenderer クラスの例についてはQCanvasPainterItemRenderer を参照してください。
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; };
QCanvasPainterItemRendererも参照して ください。
プロパティのドキュメント
[read-only] debug : QVariantMap
レンダリング統計のキー - 値マップを含む。データは、環境変数QCPAINTER_DEBUG_COLLECT がゼロ以外の値に設定されているときのみ収集されます。
データは定期的に更新され、アイテムが再描画されるたびに更新されるわけではありません。間隔は現在1秒です。したがって、多くの場合、受信したデータはアイテムの以前の描画を参照することになる。統計情報をインタラクティブに表示する場合、これは通常問題にはなりませんが、注意する必要があります。
項目内のデータをオーバーレイの形で自動的に表示するには、代わりに環境変数QCPAINTER_DEBUG_RENDER 。これは、画面上に値を表示することを意図している場合に便利なショートカットを提供する。
現在、キーのリストは以下の通りである:
- fillDrawCallCount
- strokeDrawCallCount
- textDrawCallCount
- fillTriangleCount
- strokeTriangleCount
- テキスト三角形数
- ドローコールカウント
- トライアングルカウント
通知シグナル
| void | debugChanged() |
fillColor : QColor
このプロパティは、アイテムの塗りつぶしに使用する色、つまりアイテムの背景色を保持する。
デフォルトは黒です。
アクセス関数
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
通知シグナル:
| void | fillColorChanged() |
メンバ関数ドキュメント
QCanvasPainterItem::QCanvasPainterItem(QQuickItem *parent = nullptr)
与えられたparent アイテムを持つ QCanvasPainterItem を構築します。
[override virtual noexcept] QCanvasPainterItem::~QCanvasPainterItem()
QCanvasPainterItem を破壊する。
[pure virtual protected] QCanvasPainterItemRenderer *QCanvasPainterItem::createItemRenderer() const
このアイテムのペインターを(再)作成するには、このメソッドを実装します。painter クラスはQCanvasPainterItemRenderer から継承する必要があります。QCanvasPainterItem は作成されたオブジェクトの所有権を持ち、必要なときに削除します。
コード例
QCanvasPainterItemRenderer* MyItem::createItemRenderer() const { return new MyItemPainter(); }.
[override virtual protected] QQuickRhiItemRenderer *QCanvasPainterItem::createRenderer()
再インプリメント:QQuickRhiItem::createRenderer().
QColor QCanvasPainterItem::fillColor() const
現在の塗りつぶし色を返します。
備考: プロパティ fillColor のゲッター関数。
setFillColor()も参照してください 。
void QCanvasPainterItem::setFillColor(const QColor &color)
塗りつぶし色をcolor に設定します。 この色はアイテムの背景を描画するために使用されます。デフォルトは黒です。
注: 塗りつぶしの色を完全に不透明でない色(アルファチャンネルが 255 未満)に設定する場合は、alphaBlending も忘れずにtrue に設定してください。
注: プロパティfillColor に対するセッター関数です。
fillColor() および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.