Qt TouchBegin touchPoint.pos() is stuck at 0,0

Qt TouchBegin touchPoint.pos() is stuck at 0,0

本文关键字:stuck at is TouchBegin touchPoint pos Qt      更新时间:2023-10-16

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

好的,我解决了这个问题。当我需要使用touchEvent.touchPoints().at(currentPoint).pos().x()或.y()时,我正在使用全局位置,如果它在一个框架或小部件中,我需要从该点获得全局位置。