QT事件的产生可分为两种,一种是系统自身产生的,比如定时器,另一种是用户操作产生的,比如鼠标,键盘事件。QT是用一个事件队列来维护事件,这些事件都是不可预知的,比如我们并不知道用户何时按下鼠标,所以当有事件产生时,新产生的事件就会添加到队列后面,等待着被处理。当然也可以通过一些方法直接处理。
因为我在公司做的项目不算难,基本不用去关心事件是如何发生,如何处理的,更多的是在关心信号和槽函数的连接,信号何时发出去。但我觉得想学好QT,就需要去学习QT事件。所以这里做个学习的笔记。
一开始我也对事件和信号与槽这两者混淆,网上很多人是这样子区分两者的不同的:一般来说,使用 Qt 组件时,我们并不会把主要精力放在事件上。因为在 Qt 中,我们关心的更多的是事件关联的一个信号。比如,对于QPushButton