QTest::QTouchEventSequence Class
class QTest::QTouchEventSequenceLa classe `QTouchEventSequence` sert à simuler une séquence d'événements tactiles. En savoir plus...
| En-tête : | #include <qtestsupport_gui.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Test) target_link_libraries(mytarget PRIVATE Qt6::Test) |
| qmake : | QT += testlib |
| Hérité par : |
Fonctions publiques
| virtual | ~QTouchEventSequence() |
(since 6.12) bool | cancel(bool processEvents = true) |
| virtual bool | commit(bool processEvents = true) |
| QTest::QTouchEventSequence & | move(int touchId, const QPoint &pt, QWindow *window = nullptr) |
| QTest::QTouchEventSequence & | press(int touchId, const QPoint &pt, QWindow *window = nullptr) |
| QTest::QTouchEventSequence & | release(int touchId, const QPoint &pt, QWindow *window = nullptr) |
| virtual QTest::QTouchEventSequence & | stationary(int touchId) |
Description détaillée
Pour simuler une séquence d’événements tactiles sur un périphérique spécifique pour une fenêtre ou un widget, appelez ` QTest::touchEvent ` pour créer une instance de `QTouchEventSequence`. Ajoutez des événements tactiles à la séquence en appelant ` press()`, ` move()`, ` release()` et ` stationary()`, puis laissez l’instance sortir de la portée pour valider la séquence dans le système d’événements.
Exemple :
QTouchDevice *dev = QTest::createTouchDevice();
QWidget widget;
QTest::touchEvent(&widget, dev)
.press(0, QPoint(10, 10));
QTest::touchEvent(&widget, dev)
.stationary(0)
.press(1, QPoint(40, 10));
QTest::touchEvent(&widget, dev)
.move(0, QPoint(12, 12))
.move(1, QPoint(45, 5));
QTest::touchEvent(&widget, dev)
.release(0, QPoint(12, 12))
.release(1, QPoint(45, 5));Documentation des fonctions membres
[virtual noexcept] QTouchEventSequence::~QTouchEventSequence()
Valide cette séquence d'événements tactiles, sauf si la fonction autoCommit a été désactivée, et libère les ressources allouées.
[since 6.12] bool QTouchEventSequence::cancel(bool processEvents = true)
Effectue une annulation de touche pour le périphérique de la séquence et indique si celle-ci a été acceptée. Si ` processEvents ` est défini sur ` true ` (valeur par défaut), la boucle d’événements est relancée par la suite.
Simule l'annulation de la séquence tactile, par exemple par le compositeur. Tous les points enregistrés mais non encore validés sont ignorés, et comme une annulation ne peut être suivie que d'une nouvelle pression, les points mémorisés sont également effacés.
Cette fonction a été introduite dans Qt 6.12.
[virtual] bool QTouchEventSequence::commit(bool processEvents = true)
Enregistre cet événement tactile dans le système d'événements et indique s'il a été accepté après sa transmission.
Normalement, il n’est pas nécessaire d’appeler cette fonction, car elle est appelée depuis le destructeur. Cependant, si `autoCommit` est désactivé, les événements ne sont validés qu’après l’appel explicite de cette fonction. Une autre raison de l’appeler explicitement est de vérifier la valeur de retour.
Dans certains cas particuliers, les tests peuvent souhaiter désactiver le traitement de l’événement. Pour ce faire, il suffit de définir ` processEvents ` sur `false`. L’événement est alors simplement mis en file d’attente : la boucle d’événements ne sera pas forcée de le traiter.
Renvoie si l’événement a été accepté après sa transmission.
QTest::QTouchEventSequence &QTouchEventSequence::move(int touchId, const QPoint &pt, QWindow *window = nullptr)
Ajoute à cette séquence un événement de déplacement pour le point de contact touchId à la position pt et renvoie une référence à cette séquence QTouchEventSequence.
La position pt est interprétée comme relative à window. Si window est un pointeur nul, alors pt est interprétée comme relative à la fenêtre fournie lors de l'instanciation de ce QTouchEventSequence.
Simule le déplacement par l’utilisateur du doigt identifié par touchId.
QTest::QTouchEventSequence &QTouchEventSequence::press(int touchId, const QPoint &pt, QWindow *window = nullptr)
Ajoute à cette séquence un événement de pression pour le point de contact touchId à la position pt et renvoie une référence à ce QTouchEventSequence.
La position pt est interprétée comme relative à window. Si window est un pointeur nul, alors pt est interprété comme relatif à la fenêtre fournie lors de l’instanciation de ce QTouchEventSequence.
Simule le fait que l’utilisateur a appuyé sur l’écran tactile ou le pavé tactile avec le doigt identifié par touchId.
QTest::QTouchEventSequence &QTouchEventSequence::release(int touchId, const QPoint &pt, QWindow *window = nullptr)
Ajoute à cette séquence un événement de relâchement pour le point de contact touchId à la position pt et renvoie une référence à ce QTouchEventSequence.
La position pt est interprétée comme relative à window. Si window est un pointeur nul, alors pt est interprétée comme relative à la fenêtre fournie lors de l'instanciation de ce QTouchEventSequence.
Simule le fait que l’utilisateur a retiré son doigt identifié par touchId.
[virtual] QTest::QTouchEventSequence &QTouchEventSequence::stationary(int touchId)
Ajoute un événement stationnaire pour le point de contact touchId à cette séquence et renvoie une référence à celui-ci QTouchEventSequence.
Simule le fait que l'utilisateur n'a pas déplacé le doigt identifié par touchId.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.