6

2つの質問があります:

  1. Linuxでタッチイベントをシミュレートする方法。
  2. LinuxのQtでマルチタッチを操作する方法。
4

2 に答える 2

3

マルチタッチの質問については、Qtが追加したGesturesAPIを確認したいと思うかもしれません。

于 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これは少なくともQt4.7と4.8で機能するはずですが、おそらく以前はQt 5で機能していましたが、私はそれを確認しませんでした。

于 2012-10-13T07:23:07.720 に答える