現在、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 をクリック可能にすることは可能ですか? もしそうなら、どうやってそうするのですか?