ShapePath QML Type
描線と塗りつぶしに関する Path と関連するプロパティを記述します。詳細...
| Import Statement: | import QtQuick.Shapes 1.11 |
| Inherits: |
プロパティ
- capStyle : enumeration
- cosmeticStroke : bool
(since 6.11) - dashOffset : real
- dashPattern : list<real>
- fillColor : color
- fillGradient : ShapeGradient
- fillItem : Item
(since 6.8) - fillRule : enumeration
- fillTransform : matrix4x4
(since 6.8) - joinStyle : enumeration
- miterLimit : int
- pathHints : PathHints
(since 6.7) - strokeColor : color
- strokeStyle : enumeration
- strokeWidth : real
- trim
(since 6.10)- trim.end : real
(since 6.10) - trim.offset : real
(since 6.10) - trim.start : real
(since 6.10)
- trim.end : real
詳細説明
Shape には、1 つ以上の ShapePath 要素が含まれます。Shapeを出力するためには、少なくとも1つのShapePathが必要です。ShapePath 自体はPath で、ストロークの幅や色、塗りつぶしの色やグラデーション、結合やキャップのスタイルなど、ストロークや塗りつぶしのパラメータを記述する追加のプロパティを持ちます。通常のPath オブジェクトと同様に、ShapePath はPathMove,PathLine,PathCubic,PathQuad,PathArc のようなパス要素のリストと開始位置も含んでいます。
これらのデータセットでプロパティを変更すると、バブルアップされ、シェイプの出力が変更されます。つまり、通常のQMLバインディングやアニメーションタイプ(NumberAnimation )を使って、開始位置や終了位置、制御点、ストロークや塗りつぶしのパラメータを簡単に変更したり、アニメーション化したりすることができます。
次の例では、線の結合スタイルはjoinStyleIndexの値に基づいて自動的に変更されます:
ShapePath { strokeColor: "black" strokeWidth: 16 fillColor: "transparent" capStyle: ShapePath.RoundCap property int joinStyleIndex: 0 property variant styles: [ ShapePath.BevelJoin, ShapePath.MiterJoin, ShapePath.RoundJoin ] joinStyle: styles[joinStyleIndex] startX: 30 startY: 30 PathLine { x: 100; y: 100 } PathLine { x: 30; y: 100 } }
シェイプに関連付けると、joinStyleIndexが2(ShapePath.RoundJoin)の場合の出力です:

Qt Quick Examples - Shapes、Weather Forecast Example、Shapeも参照してください 。
プロパティのドキュメント
capStyle : enumeration
このプロパティは、線の端点がどのように描かれるかを定義します。デフォルト値はShapePath.SquareCap です。
| 定数 | 説明 |
|---|---|
ShapePath.FlatCap | 線の終点を覆わない正方形の線端。 |
ShapePath.SquareCap | 終点を覆い、そこから線幅の半分だけはみ出る正方形の線端。 |
ShapePath.RoundCap | 丸みを帯びた線端。 |
cosmeticStroke : bool [since 6.11]
このプロパティは、レンダリングスケールにもかかわらずストロークの幅が一定であるかどうかを保持する。
このプロパティがtrue に設定されている場合、strokeWidth で指定されるように、QtQuick::Item::scale のようなシェイプに適用される変形に関係なく、シェイプのアウトラインはデバイスに依存しないピクセル単位で一定の幅で描画されます。
デフォルト値はfalse です。
このプロパティは Qt 6.11 で導入されました。
strokeWidthも参照してください 。
dashOffset : real
このプロパティは、ダッシュパターンを指定するために使用される単位で測定される、ダッシュパターン上の開始点を定義する。
デフォルト値は0 。
QPen::setDashOffset()も参照 。
dashPattern : list<real>
このプロパティは、strokeStyle がShapePath.DashLine に設定されているときのダッシュパターンを定義します。パターンは偶数の正の数で指定する必要があり、1, 3, 5...はダッシュ、2, 4, 6...はスペースです。パターンはペンの幅の単位で指定する。
デフォルト値は(4, 2)で、4 *strokeWidth ピクセルのダッシュと、2 *strokeWidth ピクセルのスペースを意味する。
QPen::setDashPattern()も参照のこと 。
fillColor : color
このプロパティは塗りつぶし色を保持する。
transparent に設定すると、塗りつぶしは行われない。
デフォル ト 値はwhite です。
注意: fillGradient またはfillItem のいずれかがnull 以外に設定されている場合、これらの値がfillColor より優先されます。この場合、fillColor は無視されます。
fillGradient : ShapeGradient
このプロパティは塗りつぶしグラデーションを定義します。デフォルトではグラデーションは有効になっておらず、値はnull です。この場合、塗りつぶしはfillItem プロパティが設定されていればそれに基づき、そうでなければfillColor プロパティが使用されます。
注意: グラデーションタイプはここでは使用できません。むしろ、LinearGradient のような高度なサブタイプを使用することをお勧めします。
デフォルトでは、同時に表示できるグラデーションは256種類までです。この制限はQT_QUICKSHAPES_MAX_GRADIENTS 環境変数でカスタマイズできます。
fillItem : Item [since 6.8]
このプロパティは、シェイプの塗りつぶしとして使用する別のQt Quick アイテムを定義します。このアイテムはテクスチャ・プロバイダでなければなりません(layered item 、ShaderEffectSource 、Image など)。有効なテクスチャプロバイダでない場合、このプロパティは無視されます。
fillItem の視覚的親はQt Quick Item でなければならない。特に、ShapePath はItem ではないので、その子を塗りつぶしアイテムとして使用することはできません。ShapePath の子として作成される場合、fillItem の親を手動で設定する必要があります。
た と えば、fillItem のプ ロ パテ ィ 割 り 当てでImage オブジ ェ ク ト を直接作成す る と 、 それはShapePath の子にな り ます。以下の例では、ウィンドウのcontentItem を親として使用しています。
fillItem: Image {
visible: false
source: "contents.png"
parent: window.contentItem
}注: fillItem としてレイヤー アイテムを使用する場合、塗りつぶしを変換するときにピクセル化エフェクトが表示されることがあります。この場合、layer.smooth プロパティを true に設定すると、視覚的な結果が改善されます。
デフォルトでは、塗りつぶし項目は設定されておらず、値はnull です。
注: null 以外に設定された場合、fillItem プロパティがfillColor より優先されます。fillGradient プロパティは、fillItem とfillColor の両方に優先します。
このプロパティは Qt 6.8 で導入されました。
fillRule : enumeration
このプロパティは塗りつぶしルールを保持する。デフォルト値はShapePath.OddEvenFill である。塗りつぶしルールの説明については、QPainterPath::setFillRule() を参照してください。
| 定数 | 説明 |
|---|---|
ShapePath.OddEvenFill | 奇偶塗り潰し規則。 |
ShapePath.WindingFill | 非ゼロ巻線塗りつぶしルール。 |
fillTransform : matrix4x4 [since 6.8]
このプロパティは、パスの塗りつぶしパターン (fillGradient またはfillItem) に適用される変換を定義します。塗 り が無地ま たは透過の場合には、 こ のプ ロ パテ ィ は効力を持ち ません。デフ ォル ト では、 塗 り 変形は有効にな ら ず、 こ のプ ロ パテ ィ の値はidentity 行列にな り ます。
この例では、myShape の中心点を中心に 45 度回転したmyImageItem の内容で塗りつぶされた矩形を表示しています:
ShapePath { fillItem: myImageItem fillTransform: PlanarTransform.fromRotate(45, myShape.width / 2, myShape.height / 2) PathRectangle { x: 10; y: 10; width: myShape.width - 20; height: myShape.height - 20 } }
このプロパティは Qt 6.8 で導入されました。
joinStyle : enumeration
このプロパティは、2つの接続線間の結合がどのように描画されるかを定義します。デフォルト値はShapePath.BevelJoin です。
| 定数 | 説明 |
|---|---|
ShapePath.MiterJoin | 線の外縁は角度をもって接するように延長され、この領域は塗りつぶされる。 |
ShapePath.BevelJoin | 2本の線の間の三角形の切り欠きが塗りつぶされます。 |
ShapePath.RoundJoin | 2本の線の間の円弧が塗りつぶされます。 |
miterLimit : int
joinStyle がShapePath.MiterJoin に設定されている場合、このプロパティは、マイター結合が結合点からどの程度まで拡張できるかを指定します。
デフォルト値は2である。
pathHints : PathHints [since 6.7]
このプロパティは、形状の特徴を記述する。ヒントを設定すると、レンダリングが最適化されます。デフォルトでは、ヒントは設定されていません。以下の値の組み合わせが可能です:
| 定数 | 説明 |
|---|---|
ShapePath.PathLinear | パスは直線のみで、曲線はありません。 |
ShapePath.PathQuadratic | パスには3次曲線はありません:直線と2次ベジェ曲線だけです。 |
ShapePath.PathConvex | パスにはへこみや穴はありません。形状の内側の 2 点間の直線はすべて、完全に形状の内側に収ま り ます。 |
ShapePath.PathFillOnRight | パスは、TrueType の慣例に従って、ベタ塗りの周りのアウトラインはその制御点を時計回りに並べ、シェイプの穴の周りのアウトラインはその制御点を反時計回りに並べます。 |
ShapePath.PathSolid | パスには穴がなく、数学的に言えば単につながっている。 |
ShapePath.PathNonIntersecting | パスの輪郭はそれ自身を横切らない。 |
ShapePath.PathNonOverlappingControlPointTriangles | 曲線の制御点で定義された三角形は、互いに重ならず、どの線分とも重ならない。また、どの線分も交差しない。これはPathNonIntersecting を意味する。 |
すべてのヒントが論理的に独立しているわけではないが、依存関係は強制されない。例えば、PathLinear はPathQuadratic を意味するが、PathQuadratic なしでPathLinear を持つことは有効である。
pathHints プロパティは、真であることがわかっているステートメントのセットを記述します。ヒントがないからといって、対応するステートメントが必ずしも偽であるとは限りません。
このプロパティは Qt 6.7 で導入されました。
strokeColor : color
このプロパティはストロキングカラーを保持する。
transparent に設定する と 、 描線は行われない。
デフォル ト 値はwhite です。
strokeStyle : enumeration
このプロパティはストロークのスタイルを定義します。デフォルト値はShapePath.SolidLine です。
| 定数 | 説明 |
|---|---|
ShapePath.SolidLine | 無地の線。 |
ShapePath.DashLine | 数ピクセルで区切られたダッシュ。 |
strokeWidth : real
このプロパティはストローク幅を保持する。
負の値を設定すると、ストロークは発生しません。
デフォルト値は 1 です。
cosmeticStrokeも参照してください 。
trim group
表示するパスのセクションを指定する。
区間は、 パス長分数start とend で定義 さ れます。デフ ォル ト では、start は 0 (パスの始点を示す)、end は 1 (パスの終点を示す)なので、 パス全体が表示される。
offset の値は、start とend に加算 さ れます。 こ れに よ っ て [0, 1] の範囲に過不足が生 じ る と き は、 結果のパ ス セ ク シ ョ ン と 同様に、 値が折 り 返 さ れます。offset の有効範囲は -1 から 1 です。デフォルト値は 0 です。
これらのプロパティは Qt 6.10 で導入されました。
© 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.