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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。