消息与消息处理
我们都知道在Qt中的消息处理机制是信号与槽,在实际程序开发中也就是通过将组件产生的信号与对应的槽函数连接起来就可以实现预想的功能了,那么应用程序是如何感知到这个信号的?
在Qt中封装了具体操作系统的消息机制,遵循经典的GUI消息驱动事件模型。
当产生一个用户事件后,首先得到感知的肯定是操作系统,操作系统根据事件类型将其转换成对应的应用程序消息发给应用程序,程序收到这个消息后就会调用对应的消息处理函数。
信号与槽
Qt中如何表示用户消息?
Qt中如何将用户消息映射到消息处理函数上?
Qt中的消息映射需要遵循什么规则?
在Qt中定义了几个与系统相关的概念:
信号:操作系统产生的消息
槽:程序中的消息处理函数
连接:将信号与槽关联起来
两个对象通过connect连接产生关联,在QObject_1对象发出信号,在槽函数所在的QObject_2对象上执行。连接就相当于关注了某人后,当她有动态时你能及时收到她发动态的消息,而消息处理函数就相当于你点开她的动态,所以信号到槽的关联必然是发生在两个对象上的。