界面开发用qt还是java,做windows界面,用QT还是MFC?

先看一下Windows桌面程序开发的简要历史。在MFC之前,使用C++开发Windows桌面程序,只能通过调用WindowsSDK提供的API,要付出很大的代价来处理UI程序中的各种消息,不仅要做很多繁琐的重复性工作,还特别容易出错。

后来随着VisualStudio的出现,以及随之而来的MFC(MicrosoftFoundationClassLibrary)改变了这一状况,它使用了一些技巧——消息宏映射,使得开发者只需要在代码中添加一些简单的宏,就可以实现事件消息与处理程序之间的响应,将程序员从繁琐的消息循环中解脱出来,在当时来说,确实让人惊艳!

353003c7dec8cd90e1facc648e1fca5e.png

然而MFC也有很多缺陷,设计不够优雅,虽然号称是面向对象的框架,但是中间却使用了大量晦涩难懂的宏技巧,无形中增加了学习难度,而且如它的名称所示,微软基础类库,也就适合Windows桌面程序开发,无法跨平台。

QT也是一个可以用来开发桌面程序的C++库,它使用了信号-槽机制,并通过一些辅助工具,如moc、uic、rcc等,用来处理信号与响应函数的关联、UI设计、以及资源管理等。极大的方便了C++桌面程序开发,更重要的一点是它不但有开源版本,而且支持跨平台,当然代码需要重新编译。QtCreator还提供了大量的工程模板,见下图:

28b9e130401df508a867516a31dd7d11.png

QT最大的不足在于它需要一次中间编译过程,也就是要通过moc、uic、rcc等工具生成中间文件,将极大的增加编译时间。

从纯技术的角度来说,QT无疑更先进,而MFC作为一种正在淘汰中的技术,已经被它的主人——微软抛弃,所以除了是维护一些老的使用MFC开发的项目,新项目已经很少有人使用MFC了。在我默认安装的VS2017中已经找不到MFC工程模板,见下图,当然可以使用一些办法找到MFC,但是默认把它藏起来已经足以说明微软的态度。

77ea03e7f7efb4afc5fd31b634952974.png

总之,如果是在MFC与QT之间做二选一的选择,那么毫无疑问是选择QT!如果还没有深入学习C++语言,只是想学Windows桌面程序开发的话,那么C#.Net也是不错的选择,相比C++开发效率更高,不足之处是跨平台比较困难而且运行效率不如C++程序。此外,像Java与Python也是不错的选择。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值