QTouchEventSequence Class
class QTest::QTouchEventSequenceQTouchEventSequence 클래스는 터치 이벤트의 시퀀스를 시뮬레이션하는 데 사용됩니다. 더 보기...
Header: | #include <QTouchEventSequence> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Test) target_link_libraries(mytarget PRIVATE Qt6::Test) |
qmake: | QT += testlib |
공용 함수
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) |
상세 설명
창 또는 위젯에 대한 특정 장치의 터치 이벤트 시퀀스를 시뮬레이션하려면 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 noexcept]
QTouchEventSequence::~QTouchEventSequence()
자동 커밋이 비활성화되지 않은 경우 이 일련의 터치 이벤트를 커밋하고 할당된 리소스를 해제합니다.
[virtual]
bool QTouchEventSequence::commit(bool processEvents = true)
이 터치 이벤트를 이벤트 시스템에 커밋하고 전달 후 수락 여부를 반환합니다.
일반적으로 이 함수는 소멸자에서 호출되므로 호출할 필요가 없습니다. 그러나 자동 커밋이 비활성화되어 있으면 이 함수를 명시적으로 호출해야만 이벤트가 커밋됩니다. 명시적으로 호출하는 또 다른 이유는 반환값을 확인하기 위해서입니다.
특별한 경우에는 테스트에서 이벤트 처리를 비활성화할 수 있습니다. processEvents 을 false로 설정하면 됩니다. 이렇게 하면 이벤트 루프가 강제로 이벤트를 처리하지 않고 이벤트를 대기열에 넣을 뿐입니다.
배달 후 이벤트가 수락되었는지 여부를 반환합니다.
QTest::QTouchEventSequence &QTouchEventSequence::move(int touchId, const QPoint &pt, QWindow *window = nullptr)
위치 pt 에 있는 터치포인트 touchId 에 대한 이동 이벤트를 이 시퀀스에 추가하고 QTouchEventSequence 에 대한 참조를 반환합니다.
위치 pt 는 window 에 상대적인 것으로 해석됩니다. window 가 널 포인터인 경우 pt 는 이 QTouchEventSequence 를 인스턴스화할 때 제공된 창에 상대적인 것으로 해석됩니다.
사용자가 touchId 로 식별된 손가락을 움직인 것으로 시뮬레이션합니다.
QTest::QTouchEventSequence &QTouchEventSequence::press(int touchId, const QPoint &pt, QWindow *window = nullptr)
위치 pt 에 있는 터치포인트 touchId 에 대한 프레스 이벤트를 이 시퀀스에 추가하고 이 QTouchEventSequence 에 대한 참조를 반환합니다.
위치 pt 는 window 에 상대적인 것으로 해석됩니다. window 가 널 포인터인 경우 pt 는 이 QTouchEventSequence 를 인스턴스화할 때 제공된 창에 상대적인 것으로 해석됩니다.
사용자가 touchId 로 식별된 손가락으로 터치 스크린이나 패드를 누른 것으로 시뮬레이션합니다.
QTest::QTouchEventSequence &QTouchEventSequence::release(int touchId, const QPoint &pt, QWindow *window = nullptr)
위치 pt 에 있는 터치포인트 touchId 에 대한 릴리스 이벤트를 이 시퀀스에 추가하고 이 QTouchEventSequence 에 대한 참조를 반환합니다.
위치 pt 는 window 에 상대적인 것으로 해석됩니다. window 가 널 포인터인 경우 pt 는 이 QTouchEventSequence 를 인스턴스화할 때 제공된 창에 상대적인 것으로 해석됩니다.
사용자가 touchId 로 식별된 손가락을 들어 올린 것을 시뮬레이션합니다.
[virtual]
QTest::QTouchEventSequence &QTouchEventSequence::stationary(int touchId)
이 시퀀스에 터치포인트 touchId 에 대한 정지 이벤트를 추가하고 이 QTouchEventSequence 에 대한 참조를 반환합니다.
사용자가 touchId 에 의해 식별된 손가락을 움직이지 않은 것으로 시뮬레이션합니다.
© 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.