什么是qt平台插件中的processEvents应该做什么?

时间:2012-05-28 13:14:19

标签: qt qt5

我正在为qt编写一个新的平台插件,我正在尝试理解什么是" processEvents"虚拟方法应该怎么做? 我的要求是我在文件描述符上接收事件,我应该将它们转换为qt gui事件并将它们传递给qt。请指教。

2 个答案:

答案 0 :(得分:3)

来自文档http://qt-project.org/doc/qt-4.8/qcoreapplication.html#processEvents

  

根据指定的标志处理调用线程的所有挂起事件,直到没有其他事件要处理。

     

当程序忙于执行长时间操作(例如复制文件)时,您可以偶尔调用此功能。

这可能不是你想要的。根据您的问题的简短描述,在我看来,您想要Linux的poll()。 http://linux.die.net/man/2/poll

答案 1 :(得分:2)

您可以使用QSocketNotifier。请注意,QSocketNotifier仅在Unix系统上获取文件句柄。在Windows上,它需要一个特殊的winsock句柄,它不是事件对象的通用HANDLE,也不是文件句柄。不要担心processEvents,这与您的问题无关。