事件循环是一种程序运行机制,它的思想可以用下面的伪代码简单描述:
loop start
if get new message
process message
back to loop
即通过一个“死循环”来轮询新的消息,当获取到新的消息之后,对消息进行处理。
图形界面程序的最大特点就是“事件驱动”,即以事件为中心,当用户点击了某一个按钮后,产生一个 clicked
的事件,然后程序再对调用对应的回调(callback)函数,执行对应的操作。
如果要读写一个网络资源,比如 QTcpSocket
,大部分情况下是不能够立即读取的,需要等待,而此时可能已经发生了和用户的交互事件,所以程序是不能一直等待Socket的,当Socket可读(写)的时候,产生对应的事件,然后再去执行对应的读(写)逻辑。