8#include <QtCore/qobject.h>
9#include <QtCore/qdeadlinetimer.h>
14class QEventLoopPrivate;
19 Q_DECLARE_PRIVATE(QEventLoop)
20 friend class QEventLoopLocker;
23 explicit QEventLoop(QObject *parent =
nullptr);
26 enum ProcessEventsFlag {
28 ExcludeUserInputEvents = 0x01,
29 ExcludeSocketNotifiers = 0x02,
30 WaitForMoreEvents = 0x04,
31 X11ExcludeTimers = 0x08,
34 ApplicationExec = 0x80,
36 Q_DECLARE_FLAGS(ProcessEventsFlags, ProcessEventsFlag)
37 Q_FLAG(ProcessEventsFlags)
39 bool processEvents(ProcessEventsFlags flags = AllEvents);
40 void processEvents(ProcessEventsFlags flags,
int maximumTime);
41 void processEvents(ProcessEventsFlags flags, QDeadlineTimer deadline);
43 int exec(ProcessEventsFlags flags = AllEvents);
44 bool isRunning()
const;
48 bool event(QEvent *event) override;
51 void exit(
int returnCode = 0);
55Q_DECLARE_OPERATORS_FOR_FLAGS(QEventLoop::ProcessEventsFlags)
57class QEventLoopLockerPrivate;
82 enum class Type : quintptr {
87 explicit QEventLoopLocker(
void *ptr, Type t)
noexcept;
89 static constexpr quintptr TypeMask = 0x3;
90 Type type()
const {
return Type(p & TypeMask); }
91 void *pointer()
const {
return reinterpret_cast<
void *>(p & ~TypeMask); }
92 template <
typename Func>
93 void visit(Func func)
const;
QDeferredDeleteEvent(int loopLevel, int scopeLevel)
Constructs a deferred delete event with the given loop and scope level.
Q_CORE_EXPORT ~QEventLoopLocker()
Destroys this event loop locker object.
Combined button and popup list for selecting options.
Q_TRACE_POINT(qtcore, QCoreApplication_notify_exit, bool consumed, bool filtered)
void QT_MANGLE_NAMESPACE qt_startup_hook()
static QString qAppFileName()
QList< QtStartUpFunction > QStartUpFuncList
Q_TRACE_METADATA(qtcore, "ENUM { AUTO, RANGE User ... MaxUser } QEvent::Type;")
QString qtTrId(const char *id, int n)
Q_TRACE_POINT(qtcore, QCoreApplication_postEvent_exit)
static void qt_call_pre_routines()
qsizetype qGlobalPostedEventsCount()
static Q_CONSTINIT bool preRoutinesCalled
QList< QtCleanUpFunction > QVFuncList
static void replacePercentN(QString *result, int n)
Q_TRACE_POINT(qtcore, QCoreApplication_postEvent_event_compressed, QObject *receiver, QEvent *event)
Q_TRACE_POINT(qtcore, QCoreApplication_postEvent_entry, QObject *receiver, QEvent *event, QEvent::Type type)
Q_TRACE_PREFIX(qtcore, "#include <qcoreevent.h>")
Q_CORE_EXPORT void qAddPostRoutine(QtCleanUpFunction)
void(* QtCleanUpFunction)()
void(* QtStartUpFunction)()
Q_CORE_EXPORT void qAddPreRoutine(QtStartUpFunction)
Q_CORE_EXPORT void qRemovePostRoutine(QtCleanUpFunction)
#define Q_EVENT_DISABLE_COPY(Class)
#define Q_DECL_EVENT_COMMON(Class)
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)
QString applicationVersion
QCoreApplicationData() noexcept
bool applicationVersionSet