Qt学习之QEventLoop类

QEventLoop类

一、简介

Qt的事件机制: Qt的线程在闲着没事干的时候,会定期遍历一个事件表,从里面去找事做。
QEventLoop的使用目的:把当前任务给暂停,转而去执行其他任务。
使用方法:创建QEventLoop对象并对其调用exec()以启动本地事件循环,在事件循环中,调用exit()将强制exec()返回。

二、成员函数
1.int exec(QEventLoop::ProcessEventsFlags flags = AllEvents)

进入主事件循环并等待,直到调用exit()。必须调用此函数来启动事件处理。

2.void exit(int returnCode = 0)

跳出循环事件。调用此函数后,事件循环从对 exec() 的调用返回,exec() 函数返回 returnCode。
按照惯例,returnCode为0表示成功,任何非零值表示错误。

3.bool QEventLoop::isRunning()

如果事件循环正在运行,则返回true;否则返回false。事件循环被认为是从调用exec()到调用exit()期间运行的。

4.bool processEvents(QEventLoop::ProcessEventsFlags flags = AllEvents)

处理匹配标志的挂起事件,直到没有更多事件要处理为止。
如果处理了挂起的事件则返回true;否则返回false。

5.void processEvents(QEventLoop::ProcessEventsFlags flags, int maxTime)

处理匹配标志的挂起事件,最长时间为maxTime毫秒,或直到没有更多事件要处理为止,以较短者为准。

6.void quit()

告诉事件循环正常退出,与exit(0)相同。

7.void wakeUp()

唤醒事件循环

ProcessEventsFlags的类型成员详见

猜你喜欢

转载自blog.csdn.net/m0_56626019/article/details/129831563
今日推荐