我正在QT中编写一个Android应用程序,当TouchEvent被发出时,我的touchEvent-> touchPoints()。at(newPoint).pos()始终为0,0,直到我移动我的手指并强制执行TouchUpdate事件。有没有办法在TouchBegin上获得这个位置?以下是我的活动代码:
bool event(QEvent* e)
{
switch(e->type())
{
case QEvent::TouchBegin:
touchEvent = static_cast<QTouchEvent*>(e);
emit touchBegin();
emit touchUpdate();
return true;
case QEvent::TouchUpdate:
touchEvent = static_cast<QTouchEvent*>(e);
emit touchUpdate();
return true;
case QEvent::TouchEnd:
emit touchEnd();
return true;
default:
return QWidget::event(e);
}
}
答案 0 :(得分:0)
好的,我解决了。当我需要使用touchEvent.touchPoints()。at(currentPoint).pos()。x()或.y()时,我正在使用全局位置,如果它在框架或小部件中我需要得到从那时起的全球地位。