消息机制
- mfc的消息机制其实就是消息映射机制,程序员需要将自定义消息和对应的处理函数添加到消息映射表中。通过PostMessage和SendMessage来实现异步和同步消息。
- QT的信号槽机制是信号和槽函数通过QObject::connect动态链接上后存储到元对象系统中,通过emit发送信号,对应的槽函数执行。
比较
- Qt的信号槽是动态链接的,而MFC的消息映射是静态的
- Qt的信号支持自定义参数,且类型安全
- 在多线程中,MFC需要向已知线程对象发布消息,而Qt可以不考虑多线程之间的信号槽关系
总结
Qt相比较MFC的消息机制,使用起来更方便,最大的优势是Qt支持动态链接信号槽。