Qt4.7.0文档翻译:QEventLoop类参考,QEventLoop Class Reference
原文参见QT文档。
QEventLoop类提供一个进入和离开一个事件循环的手段。
在任何时候,你都可以创建一个QEventLoop 对象并且调用它的exec()来启动一个局部事件循环。在那个事件循环中调用exit()会强制使得exec()返回。
进入主事件循环并且等待,直到exit()被调用。返回被传递到exit()的值。
如果指定咯flags(标志)的话,那么只有那些被flags允许的类型的事件才会被处理。
要想启动事件处理过程的话,调用这个函数是必要的。主事件循环从窗口系统接收事件,再将它们分发给程序的部件。
一般来说,在调用exec()之前,用户无法对程序进行操作。不过有一个特例,那就是,像QMessageBox这样的模态(modal)部件可以在调用exec()之前使用,因为模态部件使用它们自己的局部事件循环。
要让你的程序进行空闲时的操作(idle processing)(也就是说,每当事件队列里面不再有事件的时候执行一个特殊的函数)的话,就使用一个超时时间间隔为 0 的QTimer。更高端的空闲处理动作可以使用processEvents()来实现。
参见QApplication::quit()、exit()和processEvents()。
告诉事件循环带着一个返回值退出。
在这个函数被调用之后,事件循环就会从exec()调用中返回。exec()函数返回的是returnCode。
按照惯例,当returnCode的值为 0 时表示成功,而值不为0时表示发生咯错误。
注意,与C 库中同名的函数不一样的是,这个函数会返回到它的调用者--停止的东西只是事件处理过程。
参见QCoreApplication::quit()、quit()和exec()。
Your opinions