QTouchEventSequence Class

class QTest::QTouchEventSequence

Die Klasse QTouchEventSequence wird verwendet, um eine Sequenz von Berührungsereignissen zu simulieren. Mehr...

Kopfzeile: #include <QTouchEventSequence>
CMake: find_package(Qt6 REQUIRED COMPONENTS Test)
target_link_libraries(mytarget PRIVATE Qt6::Test)
qmake: QT += testlib

Öffentliche Funktionen

virtual ~QTouchEventSequence()
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)

Detaillierte Beschreibung

Um eine Sequenz von Berührungsereignissen auf einem bestimmten Gerät für ein Fenster oder Widget zu simulieren, rufen Sie QTest::touchEvent auf, um eine QTouchEventSequence-Instanz zu erzeugen. Fügen Sie der Sequenz Berührungsereignisse hinzu, indem Sie press(), move(), release() und stationary() aufrufen, und lassen Sie die Instanz aus dem Bereich laufen, um die Sequenz an das Ereignissystem zu übergeben.

Beispiel:

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

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QTouchEventSequence::~QTouchEventSequence()

Bestätigt diese Abfolge von Berührungsereignissen, sofern autoCommit nicht deaktiviert wurde, und gibt zugewiesene Ressourcen frei.

[virtual] bool QTouchEventSequence::commit(bool processEvents = true)

Übergibt dieses Berührungsereignis an das Ereignissystem und gibt zurück, ob es nach der Übergabe akzeptiert wurde.

Normalerweise ist es nicht notwendig, diese Funktion aufzurufen, da sie vom Destruktor aufgerufen wird. Wenn autoCommit jedoch deaktiviert ist, werden die Ereignisse nur durch den expliziten Aufruf dieser Funktion bestätigt. Ein weiterer Grund, diese Funktion explizit aufzurufen, ist die Überprüfung des Rückgabewerts.

In besonderen Fällen kann es sein, dass Tests die Verarbeitung des Ereignisses deaktivieren wollen. Dies kann erreicht werden, indem processEvents auf false gesetzt wird. Dies führt dazu, dass das Ereignis lediglich in eine Warteschlange gestellt wird: Die Ereignisschleife wird nicht gezwungen, es zu verarbeiten.

Gibt zurück, ob das Ereignis nach der Zustellung akzeptiert wurde.

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

Fügt ein Bewegungsereignis für den Berührungspunkt touchId an der Position pt zu dieser Sequenz hinzu und gibt einen Verweis auf diesen QTouchEventSequence zurück.

Die Position pt wird als relativ zu window interpretiert. Wenn window der Null-Zeiger ist, wird pt als relativ zu dem Fenster interpretiert, das bei der Instanziierung dieses QTouchEventSequence angegeben wurde.

Simuliert, dass der Benutzer den durch touchId identifizierten Finger bewegt.

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

Fügt ein Druckereignis für den Touchpoint touchId an der Position pt zu dieser Sequenz hinzu und gibt einen Verweis auf diesen QTouchEventSequence zurück.

Die Position pt wird als relativ zu window interpretiert. Wenn window der Null-Zeiger ist, wird pt als relativ zu dem Fenster interpretiert, das bei der Instanziierung dieses QTouchEventSequence angegeben wurde.

Simuliert, dass der Benutzer den Touchscreen oder das Pad mit dem durch touchId identifizierten Finger gedrückt hat.

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

Fügt ein Freigabeereignis für den Touchpoint touchId an der Position pt zu dieser Sequenz hinzu und gibt einen Verweis auf diesen QTouchEventSequence zurück.

Die Position pt wird als relativ zu window interpretiert. Wenn window der Null-Zeiger ist, wird pt als relativ zu dem Fenster interpretiert, das bei der Instanziierung dieses QTouchEventSequence angegeben wurde.

Simuliert, dass der Benutzer den durch touchId identifizierten Finger anhebt.

[virtual] QTest::QTouchEventSequence &QTouchEventSequence::stationary(int touchId)

Fügt ein stationäres Ereignis für den Berührungspunkt touchId zu dieser Sequenz hinzu und gibt einen Verweis auf diesen QTouchEventSequence zurück.

Simuliert, dass der Benutzer den durch touchId identifizierten Finger nicht bewegt hat.

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