我正在为qt编写一个新的平台插件,我正在尝试理解什么是" processEvents"虚拟方法应该怎么做? 我的要求是我在文件描述符上接收事件,我应该将它们转换为qt gui事件并将它们传递给qt。请指教。
答案 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
,这与您的问题无关。