我正在开发一个小型应用程序,将在带有 7 英寸触摸屏的 beagleboard 上运行,但到目前为止我还没有得到它,我正在开发标准桌面应用程序。鼠标事件是否等于触摸屏事件?我正在研究 QTableView,我已通过以下方式禁用鼠标拖动多重选择:
void CTableView::mouseMoveEvent(QMouseEvent* event)
{
if(this->state()!=DragSelectingState)
QTableView::mouseMoveEvent(event);
}
如果用户尝试用手指选择多个单元格,此代码也可以在触摸屏上运行吗?
最佳答案
通常这很大程度上取决于您的触摸驱动程序。大多数触摸事件将被解释为鼠标左键单击。有时,根据您的触摸驱动程序,您必须确保以正确的方式校准触摸驱动程序(例如,如果触摸驱动程序需要知道触摸事件的来源才能获得正确的坐标)。
对于多点触控设备处理,我强烈建议将 QML 内容用于带有 MultiPointTouchArea 的用户界面:http://qt-project.org/doc/qt-5/qml-qtquick-multipointtoucharea.html#details 。您也可以轻松地将 QML 内容连接到您的 C++ 逻辑。
关于c++ - qt鼠标事件等于触摸屏事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25402253/