首页| 论坛| 消息
主题:事件循环是什么?
回帖:与windows 程序设计里面的事件循环是类似的概念。
虽然我没有看过qt源码,但是如果你用sdk开发过windows程序,需要自己写一个windows的事件循环机制。进入事件循环后,实际上是在等待用户的操作。
比如用户点击退出,会触发windows退出事件的操作。
点击按钮,会触发按钮点击事件等等。

QT中每个线程都有自己的事件循环。
所以“主线程循环是否就是响应主线程及其子线程所有的事件,这样理解对吗?” 这个是不完全对的。
主线程响应自己的事件。
子线程也有自己的事件循环。
垮线程发信号消息,就是把发送的线程,把消息丢到对方线程的消息队列上去。接收线程的事件循环会从自己的消息队列上取消息,进而去执行。
如果线程阻塞,那么无法进入事件循环,也就无法响应一切事件。如果主线程被阻塞,给人感觉就是界面卡死不响应。
如果你有过windows sdk 编程,有些地方知识都是类似的,虽然不全部完全相同。
下一楼›:笑颜:在这里如果我们只考虑Qt的事件循环,那么可以继续描述。
事件循环相当于是一个阻塞的操 ..
‹上一楼:介农酥:exec()后面的代码无法执行,前面的代码造成的任何结果都可以运行,比如connect,计时器, ..

查看全部回帖(11)
«返回主帖