qt - 自定义 QGestureRecognizer 和 QTouchEvents

标签 qt events multi-touch gesture

我想在 Qt 应用程序中使用自定义输入设备进行多点触控输入。我计划根据我的原始输入数据创建 QTouchEvents。我还想生成自定义手势。

据我了解,我必须子类化 QGestureRecognizer,为我想要控制的小部件创建一个 QGesture,并实现 recognize() 来过滤我的 QTouchEvents 并在适当时触发手势。

现在我有两个问题:

  1. 这是正确的做事方式吗?

  2. 当我已经在 QGestureRecognizer 中使用 QTouchEvents 时,如何确保它们仍然到达我的小部件(例如用于拖动)?或者与我的小部件的所有交互都应该以手势的形式进行吗?

最佳答案

到目前为止我在这件事上的进展,如果有人发现自己处于类似的情况:

1.:这可能是正确的方法,但行不通。即使在应用程序中注册了我的识别器后,它也不会收到任何 QTouchEvents。因此,我将识别器安装为目标小部件的事件过滤器。

2.:至少在使用eventFilter时,可以将事件传递给原始接收者。请参阅http://doc.qt.io/qt-5/qobject.html#eventFilter .

关于qt - 自定义 QGestureRecognizer 和 QTouchEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444022/

相关文章:

IOS:仅使用多点触控缩放 uiscrollview

c++ - Qt 用菜单栏填充上下文菜单

javascript - Jquery - 发布和订阅?

javascript - 事件未通过 JSON feed 呈现

actionscript-3 - 在as3中使用多点触控同时拖动两个对象

android - 我们如何在android中创建多点触控?

c++ - 如何让 QT 在 Mac 上为 Windows 生成可执行文件?

python - 为什么 PyQt5 小部件有时具有相同的 id?

git - 将现有的 Qt Creator 项目添加到 Git

javascript - 使用 onclick 调用函数或使用 .click 绑定(bind)事件哪个更好?