c++ - qt鼠标事件等于触摸屏事件吗?

标签 c++ qt

我正在开发一个小型应用程序,将在带有 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/

相关文章:

C++避免检查双指针持有的未初始化值

C++ 在 Qt 中传递 Double 添加数字

python - 如何重构此代码以便不会发生 Pickle 'Buffer Region' 错误

python-3.x - PyInstaller; "could not find or load the Qt platform plugin "Windows”

c++ - 协助在 MFC 中从多字节移植到 UNICODE

c++ - 如何从 C++ 文件中读取以空格分隔的信息

c++ - libtorrent 和 tcp::acceptor 在 Windows 上因访问冲突而崩溃

c++ - 使用 operator<< 重载打印派生对象不起作用

c++ - 解析 QTextStream

python - 如果是 JPG 图像,QLabel() 将不会加载像素图