2010-03-12 34 views

回答

2

您可以直接調用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之前,但我沒有檢查。

3

對於多點觸控問題,您可能想看看Qt添加的Gestures API

+0

Ок,但我如何在Linux中模擬觸摸? 我需要模擬手勢。 – 2010-03-13 11:17:05

+0

@Alex Snet:我不知道如何模擬觸摸事件。當你問這樣的多個問題時,你需要期望有些人可能只知道其中一個人的答案。 – 2010-03-15 17:51:10