qt - 在QML中拖动元素时如何实时获取鼠标坐标?

标签 qt mouse mouseevent drag qml

我有一个用 Qt 编写的程序,它使用 QML。

我想知道是否可以在拖动元素期间实时知道坐标。

实际上,我使用了一个替换光标的自定义图像,它的位置用光标(隐藏)的坐标更新。

我实际上可以在鼠标移动期间使用“onPositionChanged”或在单击“onClicked”后恢复鼠标光标的位置。

我还想在拖动过程中知道这些坐标,我尝试使用“onPressed”和“onPressAndHold”但没有成功,自定义光标的位置仅在单击释放时更新。

任何帮助将不胜感激,在此先感谢您。

最佳答案

拖动元素更改 xy直接属性,以便您可以监控这些:

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
        }
    }
}

关于qt - 在QML中拖动元素时如何实时获取鼠标坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333808/

相关文章:

python - 调用 QWebView.print_() 时 gui 被锁定

qt - 当我展开主窗口时,为什么我的中央 QGLWidget 不会增长?

c++ - 此应用程序启动失败,因为它找不到或加载 Qt 平台插件 "xcb"

c++ - 在 QGraphicsView/QGraphicsScene 上用鼠标移动项目

c - 如何检测鼠标点击 GTK+ 中的图像?

javascript - DOMMouseScroll、event.originalEvent.detail 始终返回 0

c++ - QT 不识别 UTF-8 编码,在所有其他地方都有效

java - 如何在 Java 中找出仿射变换矩形是否包含某个点?

wpf - 从 MouseLeftButtonDown 获取 WPF ListBox 项

python - QGraphicsView如何接收鼠标移动事件?