Qt鼠标事件等于触摸屏事件

qt mouse events equal to touch screen events?

本文关键字:事件 触摸屏 Qt 鼠标      更新时间:2023-10-16

我正在开发一个小应用程序,将运行在7"英寸触摸屏的beagleboard上,但我还没有得到它到目前为止,我正在开发标准桌面应用程序。鼠标事件等于触摸屏事件吗?我在QTableView工作,我已经禁用鼠标拖动多个选择通过:

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

如果用户尝试用手指选择多个单元,此代码也可以在触摸屏上工作吗?

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

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