このページでは

PathAttribute QML Type

Path内の指定された位置に属性を設定する方法を指定します。詳細...

Import Statement: import QtQuick

プロパティ

詳細な説明

PathAttribute オブジェクトを使用すると、パス上のさまざまなポイントに対して、名前と値からなる属性を指定できます。これらの属性は、デリゲートに対して「添付プロパティ」として公開されます。パス上の特定のポイントにおける属性の値は、そのポイントを囲む PathAttributes から補間されて算出されます。

以下の例は、パスの上端でアイテムのスケールを30%、不透明度を50%に、下端でスケールを100%、不透明度を100%に設定したパスを示しています。デリゲートのスケールと不透明度を設定するために、PathView.iconScaleおよびPathView.iconOpacityというアタッチドプロパティが使用されている点にご注目ください。

PathView には、3つの Qt ロゴが表示されています。上部には「John Smith」と「Jane Doe」という名前が小さく、色あせた状態で、中央には「Bill Jones」という名前が大きく、不透明な状態で表示されています。

import QtQuick

Rectangle {
    width: 240; height: 200

    Component {
        id: delegate
        Item {
            width: 80; height: 80
            scale: PathView.iconScale
            opacity: PathView.iconOpacity
            Column {
                Image { anchors.horizontalCenter: nameText.horizontalCenter; width: 64; height: 64; source: icon }
                Text { id: nameText; text: name; font.pointSize: 16 }
            }
        }
    }

    PathView {
        anchors.fill: parent
        model: ContactModel {}
        delegate: delegate
        path: Path {
            startX: 120; startY: 100
            PathAttribute { name: "iconScale"; value: 1.0 }
            PathAttribute { name: "iconOpacity"; value: 1.0 }
            PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
            PathAttribute { name: "iconScale"; value: 0.3 }
            PathAttribute { name: "iconOpacity"; value: 0.5 }
            PathQuad { x: 120; y: 100; controlX: -20; controlY: 75 }
        }
    }
}

(上記の ContactModel で使用されている ContactModel.qml の仕様については、PathView のドキュメントを参照してください。)

Pathも参照してください 。

プロパティのドキュメント

name : string

このプロパティには、変更する属性の名前が格納されます。

この属性は、デリゲートから `PathView.<name>` として利用可能です。

なお、「opacity」などの既存のItemプロパティ名を属性として使用することは可能です。これは、パス属性が新しいアタッチドプロパティを追加するため、既存のプロパティと衝突することはないからです。

value : real

このプロパティには、属性の値が格納されます。

指定された値は、パス上の項目の視覚的な外観を制御するために使用できます。たとえば、次のパスでは、itemRotation という名前の属性が指定されており、パスの開始点では値が0、終了点では値が 90 になっています。

Path {
    startX: 0
    startY: 0
    PathAttribute { name: "itemRotation"; value: 0 }
    PathLine { x: 100; y: 100 }
    PathAttribute { name: "itemRotation"; value: 90 }
}

デリゲート内では、この属性用に作成されたアタッチドプロパティ`PathView.itemRotation` に`rotation` プロパティをバインドすることができます。

Rectangle {
    width: 10; height: 10
    rotation: PathView.itemRotation
}

各アイテムがパス上に配置されるにつれて、それに応じて回転します。つまり、パスの先頭にあるアイテムは回転せず、パスの末尾にあるアイテムは 90 度回転し、パスの途中にあるアイテムは 45 度回転することになります。

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