Qt事件机制的理解
不多说:
入口:
Application a;
a.exec();
进入coreApplication
到EventLoop.exec()
这里我们多次看到QThreadData这个类
这个类存储了当前线程的事件已经事件循环,每个线程对应一个ThreadData,有兴趣的可以自己去看源码。
processEvents()
其实这里看似开启重新定义了一个EventLoop,但是还是调用了这个线程的processEvent
Linux下面的一般对应QEventDispatcherGlib:
到这里QT的事件循环的源码就结束了,我们可以看到Glib这个库,这个是Linux下面的常用的C语言的基础库,这里用到了这个库的主事件循环,只不过把这个while放到的Qt下面。
Glib的讲解放到下章。