QEventLoopLocker Class

QEventLoopLocker クラスは、イベント・ループが不要になったときに終了させる手段を提供します。詳細...

Header: #include <QEventLoopLocker>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

QEventLoopLocker()
QEventLoopLocker(QEventLoop *loop)
QEventLoopLocker(QThread *thread)
(since 6.7) QEventLoopLocker(QEventLoopLocker &&other)
~QEventLoopLocker()
(since 6.7) void swap(QEventLoopLocker &other)
(since 6.7) QEventLoopLocker &operator=(QEventLoopLocker &&other)
(since 6.7) void swap(QEventLoopLocker &lhs, QEventLoopLocker &rhs)

詳細説明

QEventLoopLocker は、特定のオブジェクト(QCoreApplication インスタンス、QEventLoop インスタンス、QThread インスタンス)に対して動作します。

これにより、例えば、イベント・ループでジョブのバッチを実行し、最後のジョブが終了した後にそのイベント・ループを終了することが可能になります。これは、各ジョブ・インスタンスでQEventLoopLockerを保持することで実現されます。

QCoreApplication 、最後のguiウィンドウが閉じられた後、非同期に実行されているジョブを終了させることができます。これは例えばネットワークにデータをアップロードするジョブを実行するのに便利です。

QEventLoop およびQCoreApplicationも参照のこと

メンバー関数ドキュメント

[noexcept] QEventLoopLocker::QEventLoopLocker()

QCoreApplication で動作するイベントロッカーを作成します。

QCoreApplication::isQuitLockEnabled() がtrue である限り、その上で動作している QEventLoopLockers がなくなると、アプリケーションは終了を試みます。

例えば、開いているウィンドウがあったり、QEvent::Quit イベントが無視されたりすると、終了を試みてもアプリケーションが終了するとは限りません。

QCoreApplication::quit() およびQCoreApplication::isQuitLockEnabled()も参照

[explicit noexcept] QEventLoopLocker::QEventLoopLocker(QEventLoop *loop)

loop で動作するイベント・ロッカーを作成します。

この特定のQEventLoop は、その上で動作する QEventLoopLockers がなくなると終了します。

QEventLoop::quit()も参照してください

[explicit noexcept] QEventLoopLocker::QEventLoopLocker(QThread *thread)

thread で動作するイベント・ロッカーを作成します。

この特定のQThread は、その上で動作する QEventLoopLockers がなくなると終了します。

QThread::quit() も参照して ください。

[noexcept, since 6.7] QEventLoopLocker::QEventLoopLocker(QEventLoopLocker &&other)

Move-construct an event-loop locker fromother.other は no-op のデストラクタを持ちますが、QEventLoop/QThread/QCoreApplication の終了を防ぐ責任は新しいオブジェクトに移されます。

この関数は Qt 6.7 で導入されました。

[noexcept] QEventLoopLocker::~QEventLoopLocker()

このイベントループロッカーオブジェクトを破棄します。

[noexcept, since 6.7] void QEventLoopLocker::swap(QEventLoopLocker &other)

このオブジェクトとQEventLoopLocker の状態をother と交換します。この操作は非常に高速で、失敗することはありません。

この関数は Qt 6.7 で導入されました。

[noexcept, since 6.7] QEventLoopLocker &QEventLoopLocker::operator=(QEventLoopLocker &&other)

Move-assigns this event-loop locker fromother.other は no-op のデストラクタを持ち、QEventLoop/QThread/QCoreApplication の終了を防ぐ責任はこのオブジェクトに移されます。

この関数は Qt 6.7 で導入されました。

関連する非メンバー

[noexcept, since 6.7] void swap(QEventLoopLocker &lhs, QEventLoopLocker &rhs)

オブジェクトとlhs の状態をrhs と入れ替えます。この操作は非常に高速で、失敗することはありません。

この関数は Qt 6.7 で導入されました。

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