Qml之DropArea示例

DropArea是一个不可见的项,当其他项(文件,文件夹等)被拖动到它上面时,它将接收到事件。

示例

  • onEntered为拖拽到(鼠标进入)控件触发事件;
  • onDropped为拖拽到控件后(鼠标松手后)触发事件;
  • dragdrop分别为onEnteredonDropped事件可捕抓到的内容;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DropArea {
anchors.fill: parent;
onEntered: {
if (drag.urls.length !== 1) { // 过滤事件,只能拖拽一个项目
drag.accepted = false
return false;
}
}

onDropped: {
console.log(drop.urls.length);
for(var i = 0; i < drop.urls.length; i++){
console.log(drop.urls[i]);
}
}
}