为什么我从 QTouchPoint 获得无效数据?
我有一个带有 QGraphicsItems 的 QGraphicsScene 。我重新实现了 sceneEvent 函数并处理多点触摸。
问题是我随机地从本节中得到无效值:
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
const QTouchEvent::TouchPoint &p0 = touchPoints.first();
给出以下调试信息(并非总是如此):
Debug: TouchUpdate: p0.scenePos(): QPointF(489.76, 160.71) :
Debug: TouchUpdate: p0.startPos(): QPointF(-8.62078e+14, 1.83351e+15)
我不知道为什么 startPos() 应该是这样的随机值。有什么建议吗?
I have a QGraphicsScene with QGraphicsItems. I have reimplemented the sceneEvent function and handle multi-touch.
The problem is that randomly I get invalid values out of this section:
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
const QTouchEvent::TouchPoint &p0 = touchPoints.first();
Gives the following debug information (not all the time):
Debug: TouchUpdate: p0.scenePos(): QPointF(489.76, 160.71) :
Debug: TouchUpdate: p0.startPos(): QPointF(-8.62078e+14, 1.83351e+15)
I have no idea why startPos() should be a random value like that. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否盲目地转换事件或使用如下 switch-case 语句?
Are you blindly casting events or using a switch-case statement as below ?