[英]Why am I getting invalid data from my 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()應該是這樣的隨機值。 有什么建議么?
您是在盲目轉換事件還是使用如下switch-case語句?
bool MyItem::sceneEvent(QEvent *event)
{
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
{
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
//Remember to accept the event too
event->accept();
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.