c++ - Linux 中的多点触控

标签 c++ linux qt multi-touch

我有两个问题:

  1. 如何在 linux 中模拟触摸事件。
  2. 如何在 Linux 中的 Qt 上使用多点触控。

最佳答案

您可以通过直接调用qt_translateRawTouchEvent 来模拟触摸事件。 (此方法未记录,但在 qapplication.cpp 中并已导出)。

您想将其放在文件的顶部:

// forward-declaration of Qt internal function
Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window, 
                                        QTouchEvent::DeviceType deviceType,
                                        const QList<QTouchEvent::TouchPoint> &touchPoints);

函数调用语法为:

qt_translateRawTouchEvent(targetWidget, deviceType, points.values());

在您的情况下,使用 (NULL, QTouchEvent::TouchScreen, touchPoints) 调用此方法,其中 touchPoints 是您当前被用户触摸的点的列表。 这应该至少在 Qt 4.7 和 4.8 中工作,可能之前在 Qt 5 中工作,但我没有检查。

关于c++ - Linux 中的多点触控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431052/

相关文章:

linux - 使用 php 脚本无限增加磁盘使用量

android - QML 加载,找不到文件

linux - 安排作业从 ftp 下载文件

postgresql - 无法查询 PostgreSQL 数据库

c++ - 使用 QML 绘制图形项目的最佳方式是什么?

c++ - 如何开发一个将在带有 <OBJECT> 标签的浏览器中执行的 IE 插件

c++ - OpenGL 教程错误

c++ - OpenGL:没有绘制

eclipse 中的 c++ Debug模式导致程序不等待 cin

java - 我在哪里可以设置 notes.ini 位置?