2010-03-12 4 views

Répondre

2

Vous pouvez simuler des événements tactiles en appelant directement qt_translateRawTouchEvent. (Cette méthode n'est pas documentée, mais elle est en qapplication.cpp et elle est exportée).

Vous voulez mettre cela en haut de votre fichier:

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

La syntaxe d'appel de fonction est:

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

Dans votre appel de cas cette méthode avec (NULL, QTouchEvent::TouchScreen, touchPoints)touchPoints est votre liste de les points étant actuellement touchés par l'utilisateur. Cela devrait fonctionner dans Qt 4.7 et 4.8 au moins, probablement avant dans Qt 5 mais je n'ai pas vérifié cela.

3

Pour la question multitouch, vous voulez probablement jeter un coup d'œil au Gestures API que Qt a ajouté.

+0

Mais, comment puis-je simuler le toucher sous Linux? Je dois simuler un geste. –

+0

@Alex Snet: Je ne sais pas comment simuler l'événement tactile. Lorsque vous posez plusieurs questions comme celle-ci, vous devez vous attendre à ce que certaines personnes ne connaissent que la réponse à l'une d'entre elles. –