6

我有两个问题:

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

2 回答 2

3

对于多点触控问题,您可能想看看 Qt 添加的Gestures API

于 2010-03-12T16:16:59.280 回答
3

您可以通过直接调用来模拟触摸事件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 之前,但我没有检查。

于 2012-10-13T07:23:07.720 回答