Класс QTouchEventSequence
класс QTest::QTouchEventSequenceКласс QTouchEventSequence используется для моделирования последовательности событий касания. Подробнее...
| Заголовок: | #include <QTouchEventSequence> |
| CMake: | find_package(Qt6 COMPONENTS Test REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Test) |
| qmake: | QT += testlib |
Открытые функции
| virtual | ~QTouchEventSequence() |
| virtual 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) |
| virtual 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()
Передает эту последовательность событий касания, если autoCommit был отключен, и освобождает выделенные ресурсы.
[virtual] void QTouchEventSequence::commit(bool processEvents = true)
Передает эту последовательность событий касания в систему событий. Обычно нет необходимости вызывать эту функцию, так как она вызывается из деструктора. Однако, если autoCommit отключен, события передаются только при явном вызове этой функции.
В особых случаях тесты могут захотеть отключить обработку событий. Это можно сделать, установив 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.1/qtest-qtoucheventsequence.html