QEventLoopLocker Class

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

ヘッダー #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)

other other は no-op のデストラクタを持ち、 / / の終了を防ぐ責任は新しいオブジェクトに移されます。QEventLoopQThreadQCoreApplication

この関数は 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-assign this event-loop locker fromother.other will have a no-op destructor, while responsibility for preventing the quittingQEventLoop/QThread/QCoreApplication is transferred to this object.

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

関連する非メンバー

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

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

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

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