Qt 和MFC对比及Qt跨平台优势

一.Qt的优势:

1.跨平台
2.signal-slot机制太漂亮了,与MFC相比,其非窗体类也支持该机制,这点设计者的想法让人佩服,并且由于其非窗体类也支持该机制,所以其很多用法让人感觉眼前一亮,如QTimerEvent的使用,不管是不是窗体,都能支持定时器,这一点比MFC要灵活了许多
3.容易上手,很多机制和MFC差不多
4.一定程度上简化了内存回收机制,这点比MFC强的多,当然采用框架使用MFC也可以做到这一点,但是要自己实现框架
5.开发效率比MFC高得多(MFC 7年老鸟的评价)
6.一个平台生命力是否旺盛,主要看技术优势,文档还有就是使用人数,Qt这三点都具有很大的优势,如果能提高在嵌入式平台上的运行效率,那就更完美了。
7.C++终于有可以让人赏心悦目的GUI库了
------------------------------------------

二.Qt的不足:

 

1.编译起来,时间实在是有点恐怖,目前和VS还是没有办法比的,也有可能是我用惯了VS
2.signal-slot 映射机制采用connect的方式,其调用规则为把调用接口转换成字符串格式,这个编译时刻不能检测出语法错误,这一点不太理想
3.运行效率不如MFC,Qt在其文档上已经明确说了,其界面效果依赖于本地界面引擎,当然我也清楚,依赖于本地引擎,对于Qt来说是非常明智的,但是就嵌入式系统,运行效率往往是致命的,所以个人希望Qt不要越做越大,短小精悍最好
4.国际化方法不是内置支持的,而需要程序员来指定所用的编码,这点令我感觉到很不习惯,尤其是和MFC比,其国际化方式在UNICODE版本下是内置支持的
5.进程间通讯(IPC),这个问题暂时估计还不会有更好的办法,尤其是和非Qt应用程序进行通讯。

三.关于跨平台

1.跨平台的意义

       很多人总爱拿跨平台说事,其实跨平台对你有用才有意义,你开发java应用程序,却只在windows上跑你的应用程序,跨平台对你有意义嘛!?你还吐沫腥子乱飞,吹什么牛啊!

2.Qt的跨平台与其它语言的不同

        无论java还是C#它们跨平台的特点是一次编译到处运行,而Qt的跨平台,恰好是反过来的,一次编写到处编译,但是却充分发挥了C++的效率,呵呵这个优势不用我说了吧。

3.Qt的出现对嵌入式系统行业的贡献

         个人认为,现在无论是桌面应用程序开发还是嵌入式系统开发,都面临着一个非常严重的问题,就是没有一个标准的语言框架,这个无论是java和C#,都解决不了这个问题,而Qt能。

         据我所知,Qt现在能在个人电脑上跑,能在嵌入式系统上跑,她能跑得操作系统有,windows ,linux ,solaris ,mac,wince ,vxwork等等,著名的photoshop就是用它编的,只需要重新编译而已,而java的跨平台,某些程度上是一个笑话,据我所知以上我所提到的系统,java并不是无缝的。

         我是做运动控制的,物联网和嵌入式系统行业都缺什么,它需要解决的一个问题就是语言问题,如果大家用不同的语言开发不同的节点,还谈什么融合啊,因为不能做到技术普及,发展始终受限!

四.学Qt没错

          学吧,肯定不会后悔,而且搞VC的,这个东西很容易上手。

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值