Qt C++ QTouchEvent & TouchPoint Confusion
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文档中的"触摸点分组")。
开始后,在TouchUpdates中再次出现差异。有时,即使你抬起一根手指,你总是得到两分(或手指向下的数量)。在这种情况下,举起的手指"id"的压力为0。或者,你会得到实际下降的接触点id的数量。
了解这些事件是如何生成的最好方法是安装一个事件过滤器,并在按下它们时观察事件
- Confusion: decltype vs std::function
- unique_ptr<char[]> confusion
- C++ Classes/Confusion
- C++ ifstream::read confusion
- Visual Studio 2013 linker confusion
- boost::range_iterator and boost::iterator_range confusion
- Pthreads, confusion with pthread_join(pthread_t, void**)
- C++ wParam and Lparam confusion
- C++ boolalpha confusion
- C++ Visual Studio Unicode confusion
- Qt TouchBegin touchPoint.pos() is stuck at 0,0
- istringstream Confusion未返回正确值
- EDK SDK confusion
- C++ if/else confusion
- Confusion with #ifndef and #ifdef
- Qt C++ QTouchEvent & TouchPoint Confusion
- Confusion with c++11?