이 페이지에서

QTest::QTouchEventSequence Class

class QTest::QTouchEventSequence

QTouchEventSequence 클래스는 일련의 터치 이벤트를 시뮬레이션하는 데 사용됩니다. 더 보기...

헤더: #include <qtestsupport_gui.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Test)
target_link_libraries(mytarget PRIVATE Qt6::Test)
qmake: QT += testlib
상속된 항목:

QTest::QTouchEventWidgetSequence

공개 함수

virtual ~QTouchEventSequence()
(since 6.12) bool cancel(bool processEvents = true)
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()

autoCommit이 비활성화되지 않은 경우, 이 일련의 터치 이벤트를 커밋하고 할당된 리소스를 해제합니다.

[since 6.12] bool QTouchEventSequence::cancel(bool processEvents = true)

시퀀스의 장치에 대해 터치 취소 작업을 수행하고, 해당 작업이 수락되었는지 여부를 반환합니다. ` processEvents `가 ` true `(기본값)인 경우, 이후 이벤트 루프가 실행됩니다.

예를 들어 컴포지터에 의해 터치 시퀀스가 취소된 것처럼 시뮬레이션합니다. 스테이징되었으나 아직 커밋되지 않은 모든 포인트는 폐기되며, 취소 후에는 새로운 누름만 이어질 수 있으므로 기억된 포인트도 모두 삭제됩니다.

이 함수는 Qt 6.12에서 도입되었습니다.

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

이 터치 이벤트를 이벤트 시스템에 커밋하고, 전달 후 이벤트가 수락되었는지 여부를 반환합니다.

일반적으로 이 함수는 소멸자에서 호출되므로 별도로 호출할 필요가 없습니다. 그러나 autoCommit이 비활성화된 경우, 이 함수를 명시적으로 호출해야만 이벤트가 커밋됩니다. 명시적으로 호출해야 하는 또 다른 이유는 반환 값을 확인하기 위함입니다.

특수한 경우, 테스트에서 이벤트 처리를 비활성화하고 싶을 수 있습니다. 이는 ` processEvents `를 `false`로 설정하여 달성할 수 있습니다. 이렇게 하면 이벤트가 단순히 대기열에 추가될 뿐이며, 이벤트 루프가 해당 이벤트를 강제로 처리하지는 않습니다.

이벤트가 전달된 후 수락되었는지 여부를 반환합니다.

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

이 시퀀스에 위치 pt 에 있는 터치포인트 touchId 에 대한 이동 이벤트를 추가하고, 이 QTouchEventSequence 에 대한 참조를 반환합니다.

위치 pt 는 window 를 기준으로 상대적인 위치로 해석됩니다. window 가 null 포인터인 경우, pt 는 이 QTouchEventSequence 를 인스턴스화할 때 제공된 창을 기준으로 상대적인 위치로 해석됩니다.

touchId 로 식별되는 손가락을 사용자가 움직인 것처럼 시뮬레이션합니다.

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

이 시퀀스에 위치 pt 에 있는 터치포인트 touchId 에 대한 프레스 이벤트를 추가하고, 이 QTouchEventSequence 에 대한 참조를 반환합니다.

pt 위치는 window 을 기준으로 해석됩니다. window 이 null 포인터인 경우, pt 은 이 QTouchEventSequence 을 인스턴스화할 때 제공된 창을 기준으로 해석됩니다.

touchId 로 식별되는 손가락으로 사용자가 터치 스크린이나 패드를 누른 것처럼 시뮬레이션합니다.

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

이 시퀀스에 위치 pt 에 있는 터치포인트 touchId 에 대한 릴리스 이벤트를 추가하고, 이 QTouchEventSequence 에 대한 참조를 반환합니다.

위치 pt 는 window 를 기준으로 해석됩니다. window 가 null 포인터인 경우, pt 는 이 QTouchEventSequence 를 인스턴스화할 때 제공된 창을 기준으로 해석됩니다.

touchId 로 식별되는 사용자의 손가락을 떼어낸 것으로 시뮬레이션합니다.

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

이 시퀀스에 터치포인트 touchId 에 대한 고정 이벤트를 추가하고, 이 QTouchEventSequence 에 대한 참조를 반환합니다.

사용자가 touchId 로 식별된 손가락을 움직이지 않은 것처럼 시뮬레이션합니다.

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