このページでは

QSGClipNode Class

QSGClipNode クラスは、シーングラフにおけるクリッピング機能を実装しています。詳細...

ヘッダー: #include <QSGClipNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
継承元: QSGBasicGeometryNode

パブリック関数

QSGClipNode()
virtual ~QSGClipNode() override
QRectF clipRect() const
bool isRectangular() const
void setClipRect(const QRectF &rect)
void setIsRectangular(bool rectHint)

詳細な説明

クリッピングはノードのサブツリーに適用され、ネストすることも可能です。複数のクリップノードがある場合、それらのジオメトリをすべて交差させることで結果が累積されます。この累積処理は、レンダリングの一部として行われます。

クリップノードは、シーングラフに追加される前にジオメトリを持っている必要があります。

クリッピングは通常、ステンシルバッファを使用して実装されます。

注: QSGという接頭辞を持つすべてのクラスは 、シーングラフのレンダリングスレッドでのみ使用する必要があります。詳細については、「シーングラフとレンダリング」を参照してください。

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

QSGClipNode::QSGClipNode()

ジオメトリを持たない新しい QSGClipNode を作成します。

クリップノードをシーングラフに追加するには、そのノードにジオメトリが設定されている必要があります。

[override virtual noexcept] QSGClipNode::~QSGClipNode()

この「QSGClipNode 」を削除します。

QSGNode::OwnsGeometry フラグが設定されている場合、ジオメトリも削除されます。

QRectF QSGClipNode::clipRect() const

このノードのクリップ矩形を返します。

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

bool QSGClipNode::isRectangular() const

このクリップノードに矩形のクリップが設定されているかどうかを返します。

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

void QSGClipNode::setClipRect(const QRectF &rect)

このクリップノードのクリップ矩形をrect に設定します。

矩形のクリップがsetIsRectangular と組み合わせて設定されている場合、レンダラーは状況によってはより最適なクリップ方式を使用することがあります。

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

void QSGClipNode::setIsRectangular(bool rectHint)

このクリップノードに、rectHint への矩形クリップを設定するかどうかを指定します。

これは最適化ヒントであり、レンダラーがステンシル処理の代わりにシザリングを使用できるようになることを意味します。シザリングはステンシル処理よりも大幅に高速です。

このヒントが設定され、適用可能な場合、クリップ領域はgeometry() ではなくclipRect() から生成されます。

デフォルトでは、このプロパティの値は `false` です。

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

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