QEventLoopLocker Class

The QEventLoopLocker class provides a means to quit an event loop when it is no longer needed. More...

Header: #include <QEventLoopLocker>
qmake: QT += core
Since: Qt 5.0

Public Functions

QEventLoopLocker()
QEventLoopLocker(QEventLoop *loop)
QEventLoopLocker(QThread *thread)
~QEventLoopLocker()

Detailed Description

The QEventLoopLocker class provides a means to quit an event loop when it is no longer needed.

The QEventLoopLocker operates on particular objects - either a QCoreApplication instance, a QEventLoop instance or a QThread instance.

This makes it possible to, for example, run a batch of jobs with an event loop and exit that event loop after the last job is finished. That is accomplished by keeping a QEventLoopLocker with each job instance.

The variant which operates on QCoreApplication makes it possible to finish asynchronously running jobs after the last gui window has been closed. This can be useful for example for running a job which uploads data to a network.

See also QEventLoop and QCoreApplication.

Member Function Documentation

QEventLoopLocker::QEventLoopLocker()

Creates an event locker operating on the QCoreApplication.

The application will quit when there are no more QEventLoopLockers operating on it.

See also QCoreApplication::quit() and QCoreApplication::isQuitLockEnabled().

QEventLoopLocker::QEventLoopLocker(QEventLoop *loop)

Creates an event locker operating on the loop.

This particular QEventLoop will quit when there are no more QEventLoopLockers operating on it.

See also QEventLoop::quit().

QEventLoopLocker::QEventLoopLocker(QThread *thread)

Creates an event locker operating on the thread.

This particular QThread will quit when there are no more QEventLoopLockers operating on it.

See also QThread::quit().

QEventLoopLocker::~QEventLoopLocker()

Destroys this event loop locker object

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