我正试图在QML中实现基本的拖放操作。在功能上,它的工作原理 - 我可以拖动一个字符串。但是,我无法让我的可拖动Rectangle对象跟随光标。它将矩形的x和y正确设置为可见的框架,但是它保持静止而不是用鼠标移动。这是我的代码:可拖动的项目不能在QML中工作
MouseArea {
id: mouseArea
anchors.fill: parent
drag.target: draggable
}
Rectangle {
id: draggable
height: 18
width: dragText.width + 8
clip: true
color: "#ff333333"
border.width: 2
border.color: "#ffaaaaaa"
visible: false
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
Drag.active: mouseArea.drag.active
Drag.hotSpot.x: 0
Drag.hotSpot.y: 0
Drag.mimeData: { "text/plain": "Teststring" }
Drag.dragType: Drag.Automatic
Drag.onDragStarted: {
visible = true
}
Drag.onDragFinished: {
visible = false
}
Text {
id: dragText
x: 4
text: "Teststring"
font.weight: Font.Bold
color: "#ffffffff"
horizontalAlignment: Text.AlignHCenter
}
}
你打算在这里做什么?你是否尝试用'visible:false'拖动一个项目? – folibis
不,我在拖动开始时立即将项目设置为可见(请参阅Drag.onDragStarted)。 – user1765354
拖动隐形物品有什么意义?你的目标是什么?也许这可以用另一种方式来完成。 – folibis