以下に示すように、スライダーと、スライダー上をスライドするために使用される画像があります。
Image
{
id: slideImg
source: "/slider/SliderSelected.png"
width: 65
height: 65
onDragActiveChanged:
{
if (!dragActive )
{
main.selection (x + slideImg.width/2 , true);
}
}
property bool dragActive: dragArea.drag.active
}
マウスエリアは次のようになります。
MouseArea
{
id: dragArea
anchors.fill: thumb
enabled: !isDisabled
height: 65
width: 463
drag
{
readonly property int dragThreshold: 10
target: thumb
minimumX: 0
minimumY: 0
maximumY:100
maximumX: mainElement.width - thumb.width
axis: Drag.XAxis
threshold: dragThreshold
}
onCanceled: {
console.log("onCanceled ")
}
onExited: {
console.log("onExited ")
Drag.cancel()
}
}
SliderImage を保持し、それをスライダーの領域外にスライドさせると、ドラッグをキャンセルしたいと思います。ドラッグ領域はマウス領域に制限する必要があります。マウス領域の外に移動した場合、ドラッグをキャンセルしたいと思います。しかし、 Drag.cancel() はドラッグをキャンセルしていません。ドラッグをキャンセルする方法はありますか?