Класс QTouchEventSequence
класс QTest::QTouchEventSequenceКласс QTouchEventSequence используется для имитации последовательности событий касания. Подробнее...
| Заголовок: | #include <QTouchEventSequence> |
| CMake: | find_package(Qt6 COMPONENTS Test REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Test) |
| qmake: | QT += testlib |
Открытые функции
| виртуальный | ~QTouchEventSequence() |
| виртуальный void | 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) |
| виртуальный QTest::QTouchEventSequence & | stationary(int touchId) |
Подробное описание
Для имитации последовательности событий касания на определенном устройстве для окна или виджета, вызовите QTest::touchEvent для создания экземпляра QTouchEventSequence. Добавьте события касания в последовательность, вызвав press(), move(), release() и stationary(), и позвольте экземпляру выйти из области видимости, чтобы передать последовательность в систему событий.
Пример:
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)); Документация по членам-функциям
[virtual] QTouchEventSequence::~QTouchEventSequence()
Передает эту последовательность событий касания, если авто-передача была отключена, и освобождает выделенные ресурсы.
[virtual] void QTouchEventSequence::commit(bool processEvents = true)
Передает эту последовательность событий касания в систему событий. Обычно нет необходимости вызывать эту функцию, потому что она вызывается из деструктора. Однако, если авто-передача отключена, события передаются только при явном вызове этой функции.
В особых случаях тесты могут захотеть отключить обработку событий. Это можно сделать, установив processEvents в false. Это приводит к простому очередированию событий, цикл событий не будет принудительно обрабатывать их.
[since 5.0] QTest::QTouchEventSequence &QTouchEventSequence::move(int touchId, const QPoint &pt, QWindow *window = nullptr)
Добавляет событие перемещения для точки касания touchId в позиции pt в эту последовательность и возвращает ссылку на этот QTouchEventSequence.
Позиция pt интерпретируется как относительная к window. Если window является нулевым указателем, то pt интерпретируется как относительная к окну, предоставленному при создании этого QTouchEventSequence.
Имитирует, что пользователь переместил палец, идентифицированный по touchId.
Эта функция была добавлена в Qt 5.0.
[since 5.0] QTest::QTouchEventSequence &QTouchEventSequence::press(int touchId, const QPoint &pt, QWindow *window = nullptr)
Добавляет событие нажатия для точки касания touchId в позиции pt в эту последовательность и возвращает ссылку на этот QTouchEventSequence.
Позиция pt интерпретируется как относительная к window. Если window является нулевым указателем, то pt интерпретируется как относительная к окну, предоставленному при создании этого QTouchEventSequence.
Имитирует, что пользователь нажал экран или тачпад пальцем, идентифицированным по touchId.
Эта функция была добавлена в Qt 5.0.
[since 5.0] QTest::QTouchEventSequence &QTouchEventSequence::release(int touchId, const QPoint &pt, QWindow *window = nullptr)
Добавляет событие отпускания для точки касания touchId в позиции pt в эту последовательность и возвращает ссылку на этот QTouchEventSequence.
Позиция pt интерпретируется как относительная к window. Если window является нулевым указателем, то pt интерпретируется как относительная к окну, предоставленному при создании этого QTouchEventSequence.
Имитирует, что пользователь поднял палец, идентифицированный по touchId.
Эта функция была добавлена в Qt 5.0.
[virtual] QTest::QTouchEventSequence &QTouchEventSequence::stationary(int touchId)
Добавляет событие неподвижности для точки касания touchId в эту последовательность и возвращает ссылку на этот QTouchEventSequence.
Имитирует, что пользователь не перемещал палец, идентифицированный по touchId.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtest-qtoucheventsequence.html