gpt4 book ai didi

c++ - Qt C++ QTouchEvent & TouchPoint 混淆

转载 作者:太空狗 更新时间:2023-10-29 21:49:52 24 4
gpt4 key购买 nike

只是想全神贯注于 QTouchEvent。感谢您提供任何帮助/建议。

具体来说,当触发触摸事件时(例如 TouchBegin),我有点困惑;这是否仅代表一个独特的接触点?如果是这样,为什么 QTouchEvent 中有一个触摸点列表?

如果不是,Qt 是否会将在给定时间段内发生的多个 TouchBegin 实例组合在一起,并将其作为一个事件传递,并将点列表封装在事件中?同样,QTouchUpdate 事件将包含有关当时正在更新的几个触摸点的信息?

我也假设;

QTouchEvent::TouchPoint::id

将在整个 TouchBegin、TouchUpdate 和 TouchEnd 中保持一致。这意味着在不同的触摸事件中,如果我看到一个具有相同 ID 的点,则这两个事件所指的是同一个触摸点。这个假设是否正确?

仅供引用:我已经使用 TUIO 工作了一段时间,所以如果有人熟悉 Qt 和 TUIO,比较解释对我来说会更容易理解。我也通读了 Qt 文档,但找不到我的问题的答案。

我仍然非常感谢任何帮助。

谢谢。

最佳答案

在不同的平台上,事件的准确报告方式似乎有所不同。如果你用两根手指按下它,它可以从一个触摸点 (TouchBegin) 开始,然后紧随其后的是一个新的 QTouchEvent。有两个 TouchUpdate 点。但它也可以将两个触摸点组合到 TouchBegin QTouchEvent 中。但我也目睹了两个 TouchBegin 事件,虽然这是一种被禁止的事件(请参阅 QTouchEvent 文档中的“接触点分组”)。

开始后,TouchUpdates 再次出现差异。有时,即使您抬起一根手指,您也总是会得到两个点(或手指按下的点数)。在这种情况下,抬起的手指“id”的压力为 0。或者,您将获得实际关闭的接触点 ID 的数量。

了解这些是如何生成的最好方法是 install an eventfilter并在按下时观察事件。

关于c++ - Qt C++ QTouchEvent & TouchPoint 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com