繁体   English   中英

QTouchEvent不能在Windows 8下用Qt 4.7.4触发吗?

[英]QTouchEvent not triggering with Qt 4.7.4 under Windows 8?

我在带有4点触摸屏的Acer W501 x86平板电脑上运行的Windows 8下使用QT触摸/多点触摸支持时遇到问题。

我有一个已经完成的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事件...

我在这里缺少什么吗?

谢谢你们!

您是否尝试过将事件过滤器安装在graphicsview的viewport()上? 这是事件发送的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM