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()
唤醒事件循环