QTouchEventSequence Class

class QTest::QTouchEventSequence

QTouchEventSequenceクラスは、一連のタッチイベントをシミュレートするために使用されます。詳細...

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

autoCommitが無効でない限り、タッチイベントのシーケンスをコミットし、割り当てられたリソースを解放する。

[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 への参照を返す。

位置ptwindow からの相対位置として解釈される。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 がヌルポインタの場合、pt は、このQTouchEventSequence をインスタンス化するときに提供されたウィンドウからの相対位置として解釈される。

ユーザーがtouchId で識別される指を持ち上げたことをシミュレートする。

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

タッチポイントtouchId の静止イベントをこのシーケンスに追加し、このQTouchEventSequence への参照を返す。

ユーザーがtouchId で識別される指を動かさなかったことをシミュレートします。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。