Qt TouchBegin touchPoint.pos()停留在0,0

时间:2014-10-10 13:20:53

标签: android c++ qt touch-event

我正在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);
    }
}

1 个答案:

答案 0 :(得分:0)

好的,我解决了。当我需要使用touchEvent.touchPoints()。at(currentPoint).pos()。x()或.y()时,我正在使用全局位置,如果它在框架或小部件中我需要得到从那时起的全球地位。