0

現在、QML のシェイプを使用してより高度なコンポーネントを描画する方法を学んでいます。次のようなボタンを作成しようとしています。

私のカスタムボタン

Shape コンポーネントに MouseArea を適用しようとすると、MouseArea が Shape のイベントをキャッチできないようです。これが私のコードです:

import QtQuick 2.13
import QtQuick.Shapes 1.13

Item
{
    Shape
    {
        id: myShape

        ShapePath {
            id: myButton

            strokeWidth:3.114000082015991
            strokeColor: "#000"
            miterLimit:7
            fillColor: "#ccc"
            capStyle:ShapePath.RoundCap
            PathSvg {
                path: "M392.4,205.9a132.34,132.34,0,0,1,31.7,49.2H575.6a289.67,289.67,0,0,0-12.9-49.2Z"
            }
        }
    }

    MouseArea
    {
        id: myMouseArea
        anchors.fill: myShape
        enabled: true
        hoverEnabled: true

        onEntered: myButton.fillColor = "yellow"
        onExited: myButton.fillColor = "green"
    }
}

だから私の質問は: そもそも Shape/ShapePath をクリック可能にすることは可能ですか? もしそうなら、どうやってそうするのですか?

4

1 に答える 1