QTouchEvent не запускается с Qt 4.7.4 под Windows 8? - PullRequest
0 голосов
/ 17 января 2012

У меня проблема с поддержкой QT touch / multitouch в Windows 8 на планшете Acer W501 x86 с 4-точечным сенсорным экраном.

У меня есть виджет QGraphicsView, для которого я создал

setAttribute(Qt::WA_AcceptTouchEvents);

Родитель виджета имеет метод eventFilter:

bool MyGUI::eventFilter(QObject* pObject, QEvent* pEvent)
{
    QEvent::Type eType = pEvent->type();
    if (pObject == _uiWindow._multitouchArea)
    {
        if ((eType == QEvent::TouchBegin) || (eType == QEvent::TouchEnd) || (eType == QEvent::TouchUpdate))
        {
            // invoke multi touch event handling here
            _handleTouchEvent(pEvent);
        }
        else if ((eType == QEvent::MouseButtonPress) || (eType == QEvent::MouseButtonRelease) || (eType == QEvent::MouseMove))
        {
            // invoke mouse based handling here
            _handleMouseEvent(pEvent);
        }   
    }
    else
    {
        return pObject->event(pEvent);
    }

    return false;
}

, который установлен в QGraphicsViewWidget.

Теперь я понимаю, что Qt по умолчанию интерпретирует события одноточечного касания как события мыши и отправляет их в приложение таким образом.Тем не менее, я не смог вызвать какие-либо события TouchBegin / TouchUpdate / TouchEnd, независимо от того, как сильно я нажимаю на сенсорный экран с какой-либо частью моей анатомии ...

Есть ли что-то, чем я являюсьздесь не хватает?

Спасибо всем!

1 Ответ

1 голос
/ 13 октября 2012

Вы пытались установить фильтр событий в области просмотра () графического просмотра?Здесь отправляются события.

...