【问题标题】:How to handle Apple Pencil events in Qt?如何在 Qt 中处理 Apple Pencil 事件?
【发布时间】:2017-02-20 09:55:43
【问题描述】:

有人知道如何在 Qt-5.7+ 中从 Apple Pencil 获取事件吗?看起来它像手指一样发送单个 QEvent.TouchBegin,但没有 QEvent.TouchUpdate,因此也没有压力值。

如果不是,那么也许有人编写了一些目标 C 来处理 UITouch 事件并以某种方式将其发送到 Qt?

我实际上是在用 PyQt5 编写这个应用程序,但我宁愿只用 C++ 向 Qt 发送一个事件,这样我就可以从那里获取它!

谢谢!

【问题讨论】:

  • 你检查过 Qt 的 bugtracker 吗?
  • 是的。并且刚刚提交了一个 5.7.2 的错误。太糟糕了,如果我能找到一种方法来编辑 qt 源代码(需要一些学习),为 iOS 构建静态 qt 会触发我的工具链的其他问题......
  • 请在此处分享您报告的链接 -- 以便其他人遇到麻烦时可以找到。
  • 您是否尝试将qDebug() << event 添加到您的QEvent::event(QEvent *) 重新实现中,并查看调试输出?可能是事件已交付,但不是您所期望的。

标签: ios qt pyqt5 stylus-pen


【解决方案1】:

在转到 Qt 的开发人员版本并进行一些调试后,我了解到存在两个问题:

  1. (如文档中所述)您必须接受 TouchBegin 事件 以便接收后续的 TouchUpdate 事件。

  2. 在 Qt-5.7.1 中,iPad Pro 的触摸压力检测被破坏。 我使用此信息更新了错误。

我已针对此行为向 qt 提交了一个错误,包括我的修复:QTBUG-59042 Apple Pencil not properly supported on iOS

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 2014-09-29
    • 2017-02-04
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多