QTouchEventSequence Class

(QTest::QTouchEventSequence)

The QTouchEventSequence class is used to simulate a sequence of touch events. More...

Header: #include <QTest>
qmake: QT += testlib
Since: Qt 4.6

Public Functions

~QTouchEventSequence()
void commit(bool processEvents = true)
QTouchEventSequence &move(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)
QTouchEventSequence &move(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)
QTouchEventSequence &press(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)
QTouchEventSequence &press(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)
QTouchEventSequence &release(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)
QTouchEventSequence &release(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)
QTouchEventSequence &stationary(int touchId)

Detailed Description

The QTouchEventSequence class is used to simulate a sequence of touch events.

To simulate a sequence of touch events on a specific device for a window or widget, call QTest::touchEvent to create a QTouchEventSequence instance. Add touch events to the sequence by calling press(), move(), release() and stationary(), and let the instance run out of scope to commit the sequence to the event system.

Example:

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));

Member Function Documentation

QTouchEventSequence::~QTouchEventSequence()

Commits this sequence of touch events, unless autoCommit was disabled, and frees allocated resources.

void QTouchEventSequence::commit(bool processEvents = true)

Commits this sequence of touch events to the event system. Normally there is no need to call this function because it is called from the destructor. However, if autoCommit is disabled, the events only get committed upon explicitly calling this function.

In special cases tests may want to disable the processing of the events. This can be achieved by setting processEvents to false. This results in merely queuing the events, the event loop will not be forced to process them.

QTouchEventSequence &QTouchEventSequence::move(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)

Adds a move event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to window. If window is the null pointer, then pt is interpreted as relative to the window provided when instantiating this QTouchEventSequence.

Simulates that the user moved the finger identified by touchId.

This function was introduced in Qt 5.0.

QTouchEventSequence &QTouchEventSequence::move(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)

Adds a move event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to widget. If widget is the null pointer, then pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.

Simulates that the user moved the finger identified by touchId.

QTouchEventSequence &QTouchEventSequence::press(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)

Adds a press event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to window. If window is the null pointer, then pt is interpreted as relative to the window provided when instantiating this QTouchEventSequence.

Simulates that the user pressed the touch screen or pad with the finger identified by touchId.

This function was introduced in Qt 5.0.

QTouchEventSequence &QTouchEventSequence::press(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)

Adds a press event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to widget. If widget is the null pointer, then pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.

Simulates that the user pressed the touch screen or pad with the finger identified by touchId.

QTouchEventSequence &QTouchEventSequence::release(int touchId, const QPoint &pt, QWindow *window = Q_NULLPTR)

Adds a release event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to window. If window is the null pointer, then pt is interpreted as relative to the window provided when instantiating this QTouchEventSequence.

Simulates that the user lifted the finger identified by touchId.

This function was introduced in Qt 5.0.

QTouchEventSequence &QTouchEventSequence::release(int touchId, const QPoint &pt, QWidget *widget = Q_NULLPTR)

Adds a release event for touchpoint touchId at position pt to this sequence and returns a reference to this QTouchEventSequence.

The position pt is interpreted as relative to widget. If widget is the null pointer, then pt is interpreted as relative to the widget provided when instantiating this QTouchEventSequence.

Simulates that the user lifted the finger identified by touchId.

QTouchEventSequence &QTouchEventSequence::stationary(int touchId)

Adds a stationary event for touchpoint touchId to this sequence and returns a reference to this QTouchEventSequence.

Simulates that the user did not move the finger identified by touchId.

© 2019 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.