Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\inmodule QtCore More...
#include <qeventloop.h>
Public Types | |
enum | ProcessEventsFlag { AllEvents = 0x00 , ExcludeUserInputEvents = 0x01 , ExcludeSocketNotifiers = 0x02 , WaitForMoreEvents = 0x04 , X11ExcludeTimers = 0x08 , EventLoopExec = 0x20 , DialogExec = 0x40 , ApplicationExec = 0x80 } |
This enum controls the types of events processed by the processEvents() functions. More... | |
Public Slots | |
void | exit (int returnCode=0) |
Tells the event loop to exit with a return code. | |
void | quit () |
Tells the event loop to exit normally. | |
Public Slots inherited from QObject | |
void | deleteLater () |
\threadsafe | |
Public Member Functions | |
QEventLoop (QObject *parent=nullptr) | |
Constructs an event loop object with the given parent. | |
~QEventLoop () | |
Destroys the event loop object. | |
bool | processEvents (ProcessEventsFlags flags=AllEvents) |
Processes some pending events that match flags. | |
void | processEvents (ProcessEventsFlags flags, int maximumTime) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Process pending events that match flags for a maximum of maxTime milliseconds, or until there are no more events to process, whichever is shorter. | |
void | processEvents (ProcessEventsFlags flags, QDeadlineTimer deadline) |
int | exec (ProcessEventsFlags flags=AllEvents) |
Enters the main event loop and waits until exit() is called. | |
bool | isRunning () const |
Returns true if the event loop is running; otherwise returns false. | |
void | wakeUp () |
Wakes up the event loop. | |
bool | event (QEvent *event) override |
\reimp | |
Public Member Functions inherited from QObject | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T > | |
T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Friends | |
class | QEventLoopLocker |
Additional Inherited Members | |
Signals inherited from QObject | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Static Public Member Functions inherited from QObject | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Member Functions inherited from QObject | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Properties inherited from QObject | |
QString | objectName |
the name of this object | |
Related Symbols inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\inmodule QtCore
The QEventLoop class provides a means of entering and leaving an event loop.
At any time, you can create a QEventLoop object and call exec() on it to start a local event loop. From within the event loop, calling exit() will force exec() to return.
Definition at line 15 of file qeventloop.h.
This enum controls the types of events processed by the processEvents() functions.
\value AllEvents All events. Note that \l{QEvent::DeferredDelete}{DeferredDelete} events are processed specially. See QObject::deleteLater() for more details.
\value ExcludeUserInputEvents Do not process user input events, such as ButtonPress and KeyPress. Note that the events are not discarded; they will be delivered the next time processEvents() is called without the ExcludeUserInputEvents flag.
\value ExcludeSocketNotifiers Do not process socket notifier events. Note that the events are not discarded; they will be delivered the next time processEvents() is called without the ExcludeSocketNotifiers flag.
\value WaitForMoreEvents Wait for events if no pending events are available.
\omitvalue X11ExcludeTimers \omitvalue EventLoopExec \omitvalue DialogExec \omitvalue ApplicationExec
Enumerator | |
---|---|
AllEvents | |
ExcludeUserInputEvents | |
ExcludeSocketNotifiers | |
WaitForMoreEvents | |
X11ExcludeTimers | |
EventLoopExec | |
DialogExec | |
ApplicationExec |
Definition at line 25 of file qeventloop.h.
Constructs an event loop object with the given parent.
Definition at line 66 of file qeventloop.cpp.
QEventLoop::~QEventLoop | ( | ) |
Destroys the event loop object.
Definition at line 80 of file qeventloop.cpp.
|
overridevirtual |
int QEventLoop::exec | ( | ProcessEventsFlags | flags = AllEvents | ) |
Enters the main event loop and waits until exit() is called.
Returns the value that was passed to exit().
If flags are specified, only events of the types allowed by the flags will be processed.
It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.
Generally speaking, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets use their own local event loop.
To make your application perform idle processing (i.e. executing a special function whenever there are no pending events), use a QChronoTimer with 0ns timeout. More sophisticated idle processing schemes can be achieved using processEvents().
Definition at line 129 of file qeventloop.cpp.
|
slot |
Tells the event loop to exit with a return code.
After this function has been called, the event loop returns from the call to exec(). The exec() function returns returnCode.
By convention, a returnCode of 0 means success, and any non-zero value indicates an error.
Note that unlike the C library function of the same name, this function does return to the caller – it is event processing that stops.
Definition at line 261 of file qeventloop.cpp.
bool QEventLoop::isRunning | ( | ) | const |
void QEventLoop::processEvents | ( | ProcessEventsFlags | flags, |
int | maxTime ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Process pending events that match flags for a maximum of maxTime milliseconds, or until there are no more events to process, whichever is shorter.
Equivalent to calling:
Definition at line 212 of file qeventloop.cpp.
void QEventLoop::processEvents | ( | ProcessEventsFlags | flags, |
QDeadlineTimer | deadline ) |
Process pending events that match flags until deadline has expired, or until there are no more events to process, whichever happens first. This function is especially useful if you have a long running operation and want to show its progress without allowing user input, i.e. by using the \l ExcludeUserInputEvents flag.
{Notes:} \list
Definition at line 234 of file qeventloop.cpp.
bool QEventLoop::processEvents | ( | ProcessEventsFlags | flags = AllEvents | ) |
Processes some pending events that match flags.
Returns true
if pending events were handled; otherwise returns false
.
This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e. by using the \l ExcludeUserInputEvents flag.
This function is simply a wrapper for QAbstractEventDispatcher::processEvents(). See the documentation for that function for details.
Definition at line 97 of file qeventloop.cpp.
|
slot |
Tells the event loop to exit normally.
Same as exit(0).
Definition at line 321 of file qeventloop.cpp.
void QEventLoop::wakeUp | ( | ) |
Wakes up the event loop.
Definition at line 291 of file qeventloop.cpp.
|
friend |
Definition at line 19 of file qeventloop.h.