我有一个用 Qt 编写的程序,它使用 QML。
我想知道在拖动元素的过程中是否可以实时知道坐标。
实际上,我使用了一个自定义图像来替换光标,它的位置是用光标的坐标更新的(它是隐藏的)。
实际上,我可以在使用“onPositionChanged”或在单击“onClicked”之后恢复鼠标光标的位置。
我还想在拖动过程中知道这些坐标,我尝试使用“onPressed”和“onPressAndHold”但没有成功,自定义光标的位置仅在单击释放时更新。
任何帮助将不胜感激,在此先感谢您。
我有一个用 Qt 编写的程序,它使用 QML。
我想知道在拖动元素的过程中是否可以实时知道坐标。
实际上,我使用了一个自定义图像来替换光标,它的位置是用光标的坐标更新的(它是隐藏的)。
实际上,我可以在使用“onPositionChanged”或在单击“onClicked”之后恢复鼠标光标的位置。
我还想在拖动过程中知道这些坐标,我尝试使用“onPressed”和“onPressAndHold”但没有成功,自定义光标的位置仅在单击释放时更新。
任何帮助将不胜感激,在此先感谢您。
拖动元素会直接更改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
}
}
}
考虑在 MouseArea 中设置“hoverEnabled: true”