qt鼠标事件等于触摸屏事件?

时间:2014-08-20 10:19:11

标签: c++ qt

我正在开发一款小巧的应用程序,它将在7英寸触摸屏的beagleboard上运行,但到目前为止我还没有得到它,我正在开发标准桌面应用程序。鼠标事件是否等同于触摸屏事件?我我正在使用QTableView,我通过以下方式禁用鼠标拖动多项选择:

void CTableView::mouseMoveEvent(QMouseEvent* event)
{
    if(this->state()!=DragSelectingState)
        QTableView::mouseMoveEvent(event);
}

如果用户尝试用手指选择多个单元格,此代码是否也适用于触摸屏?

1 个答案:

答案 0 :(得分:1)

通常这很大程度上取决于你的触摸驱动程序。大多数情况下,触摸事件将被解释为鼠标左键单击。根据您的触摸驱动程序,您必须确保以正确的方式校准触摸驱动程序(例如,如果触摸驱动程序需要知道触摸事件的原点以获得正确的坐标)。

对于多点触控设备处理,我强烈建议您使用MultiPointTouchArea:http://qt-project.org/doc/qt-5/qml-qtquick-multipointtoucharea.html#details将QML内容用于您的用户界面。您也可以轻松地将QML-stuff连接到您的c ++逻辑。