QML TapHandler onLongPress 获取位置坐标

Posted

技术标签:

【中文标题】QML TapHandler onLongPress 获取位置坐标【英文标题】:QML TapHandler onLongPress get position coordinates 【发布时间】:2020-06-10 11:53:26 【问题描述】:

我试图在用户长按触摸屏幕的位置显示上下文菜单。我发现 TapHandler 信号 longPress 看起来可以解决我的问题,但它没有任何输入参数,例如 eventPoint

TapHandler 
  onLongPressed: 
    if (Qt.platform.os == "android" || Qt.platform.os == "ios") 
      // contextMenu.x = eventPoint.position.x 
      // contextMenu.y = eventPoint.position.y
      contextMenu.open()
    
  

有什么建议或想法吗?

【问题讨论】:

您可以使用point.position 获取当前处理的点。但恕我直言,它看起来像一个错误:-) 是的,这可能是最好的处理方式。 【参考方案1】:

从文档中,关于点:HandlerPoint:“当前正在处理的事件点。当当前没有处理任何点时,此对象将重置为默认值(所有坐标均为 0)。” https://doc.qt.io/qt-5/qml-qtquick-taphandler.html#point-prop

【讨论】:

以上是关于QML TapHandler onLongPress 获取位置坐标的主要内容,如果未能解决你的问题,请参考以下文章

QML - QML实时预览 Qml live loader

Quick QML 一个QML调用另一个文件夹下的QML方法

Qt/QML - 在 C++ 中注册 QML 类型会使 QML 代码不起作用

QML , 如何从另一个 qml 访问元素

2 个不同 QML 之间的 QML 信号和时隙

Qml 应用程序编译 *Form.ui.qml 文件但忽略关联的 .qml 文件