我有一个用Qt编写的程序,他使用QML。
我想知道在拖动元素期间是否可以实时知道坐标。
实际上,我使用替换光标的自定义图像,其位置使用光标的坐标(隐藏)更新。
我实际上可以通过“onPositionChanged”或在点击“onClicked”之后恢复鼠标光标的位置。
我想在拖动过程中知道这些坐标,我尝试使用“onPressed”和“onPressAndHold”,但没有成功,自定义光标的位置仅在点击发布时更新。
任何帮助将不胜感激,谢谢你。
答案 0 :(得分:9)
拖动元素会直接更改x
和y
属性,以便您监控这些属性:
Rectangle {
id: draggable
width: 100
height: 100
onXChanged: {
if (mouseArea.drag.active) {
console.log("x=" + x)
}
}
onYChanged: {
if (mouseArea.drag.active) {
console.log("y=" + y)
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
drag {
target: draggable
axis: Drag.XandYAxis
}
}
}
答案 1 :(得分:0)
考虑设置" hoverEnabled:true"在MouseArea中