如何在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”。
我该怎么做才能触发它?
显然,需要通过调用Drag对象上的drop()方法显式生成drop
尝试在drag.target: parent
添加此行,就在drag.target: parent
上方
onReleased: parent.Drag.drop()