当前位置: 代码迷 >> QT开发 >> 怎么在Qt中模拟MFC的消息机制
  详细解决方案

怎么在Qt中模拟MFC的消息机制

热度:159   发布时间:2016-04-25 05:05:32.0
如何在Qt中模拟MFC的消息机制
有一个基于MFC + SpeechSDK开发的语音识别程序,使用了MFC的消息机制,程序初始化时要向speechSDK中注册自定义的消息。
我现在想把这个程序该成qt的形式,不知技术上是否可行?
求qt达人给点建议,谢谢!

------解决方案--------------------
我对MFC不了解,不清楚你提到的MFC消息机制是否就是Windows api提供的消息机制(SendMessage/PeekMessage/DispatchMessage/... )。如果是的话,应该没有任何问题,也用不着模拟,直接用就行了。
------解决方案--------------------
Qt和MFC本质上都是消息循环事件驱动机制,但处理过程不太一样;

Qt可以自定义事件:
1. 继承QEvent类,需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值;
2.在合适的地方发送事件post/send函数;
3.在发送对象类中的customEvent函数中,捕获自定义事件,然后进行相应的动作;

详细信息可以查看帮助文档,
------解决方案--------------------
用这个
bool QWidget::winEvent ( MSG * message, long * result ) [virtual protected]
------解决方案--------------------
探讨

Qt和MFC本质上都是消息循环事件驱动机制,但处理过程不太一样;

Qt可以自定义事件:
1. 继承QEvent类,需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值;
2.在合适的地方发送事件post/send函数;
3.在发送对象类中的customEvent函数中,捕获自定义事件,然后进行相应的动作;

详细信息可以查看帮助文档,
  相关解决方案