我想在 Qt 应用程序中使用自定义输入设备进行多点触控输入。我计划根据我的原始输入数据创建 QTouchEvents。我还想生成自定义手势。
据我了解,我必须子类化 QGestureRecognizer,为我想要控制的小部件创建一个 QGesture,并实现 recognize() 来过滤我的 QTouchEvents 并在适当时触发手势。
现在我有两个问题:
这是正确的做事方式吗?
当我已经在 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/