如何在 QML 拖放示例中发出 onDropped?

如何在 QML 拖放示例中发出 onDropped?

在 qml 文档中有一个拖放示例

import QtQuick 2.0

Item {
    width: 200; height: 200

    DropArea {
        x: 75; y: 75
        width: 50; height: 50

        onDropped: console.log("dropped")
        onEntered: console.log("entered")

        Rectangle {
            anchors.fill: parent
            color: "green"

            visible: parent.containsDrag
        }
    }

    Rectangle {
        x: 10; y: 10
        width: 20; height: 20
        color: "red"

        Drag.active: dragArea.drag.active
        Drag.hotSpot.x: 10
        Drag.hotSpot.y: 10

        MouseArea {
            id: dragArea
            anchors.fill: parent

            drag.target: parent
        }
    }
}

我添加了两行“onDropped”和“onEntered”。虽然“onEntered”是通过拖动小矩形触发的,但我无法让“onDropped”触发。

我要做什么才能触发它?

答案1

显然,需要通过调用drop() 方法目的

MouseArea尝试在上方的 ,内添加此行drag.target: parent

onReleased: parent.Drag.drop()

相关内容