2010-03-12 12 views

risposta

2

È possibile simulare eventi di tocco chiamando direttamente qt_translateRawTouchEvent. (Questo metodo non è documentato, ma è in qapplication.cpp ed è esportato).

vuoi mettere questo nella parte superiore del file:

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

La sintassi della funzione di chiamata è:

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

Nel tuo caso chiamata questo metodo con (NULL, QTouchEvent::TouchScreen, touchPoints) dove touchPoints è la vostra lista di punti attualmente toccati dall'utente. Questo dovrebbe funzionare in Qt 4.7 e 4.8 almeno, forse prima in Qt 5, ma non l'ho verificato.

3

Per la domanda multitouch, probabilmente si sta cercando di dare un'occhiata allo Gestures API aggiunto da Qt.

+0

Ок, ma come posso simulare il tocco in Linux? Ho bisogno di simulare un gesto. –

+0

@Alex Snet: non so come simulare l'evento di tocco. Quando fai domande multiple come questa, devi aspettarti che alcune persone possano conoscere solo la risposta a una di esse. –