[英]Qt C++ QTouchEvent & TouchPoint Confusion
试着把我的脑袋包裹在QTouchEvent周围。 任何帮助/建议表示赞赏。
特别是当触发事件被触发时我有点困惑(例如TouchBegin); 这只代表一个独特的接触点吗? 如果是这样,为什么QTouchEvent中有一个触摸点列表?
如果不是,那么Qt是否会将在给定时间分数内发生的几个TouchBegin实例组合在一起并将其作为一个事件传递,并在事件中封装了点列表? 同样,QTouchUpdate事件将包含有关当时正在更新的几个触点的信息?
我也认为;
QTouchEvent::TouchPoint::id
将在TouchBegin,TouchUpdate和TouchEnd中保持一致。 这意味着在不同的触摸事件中,如果我看到具有相同id的点,则它们是两个事件所指的相同的触摸点。 这个假设是否正确?
仅供参考:我一直在与TUIO合作,所以如果有人熟悉Qt和TUIO,我会更容易理解比较解释。 我也读过Qt文档,但无法找到我的问题的答案。
我仍然非常感谢任何帮助。
谢谢。
报告事件的确切程度在不同平台上似乎有所不同。 如果你用两根手指按它,它可以从一个触摸点(TouchBegin)开始,然后立即使用带有两个TouchUpdate点的新QTouchEvent 。 但它也可以将两个触摸点组合到TouchBegin QTouchEvent中。 但我也目睹了两个TouchBegin事件,尽管这是一种被禁止的事件(参见QTouchEvent文档中的“Touch Point Grouping”)。
开始之后,TouchUpdates再次出现差异。 即使抬起一根手指,有时候你总是得到两分(或者手指向下的数量)。 在这种情况下,对于抬起的手指“id”,压力为0。 或者,您将获得实际关闭的接触点ID数量。
了解如何生成这些内容的最佳方法是安装eventfilter并在按下它们时观察事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.