使用Qt吧,前提是在这两者下进行选择。既然提到了Qt和MFC,我想题主肯定是一个C的开发者。其实,在我看来,Windows下开发界面程序,还有很多其他的选择。下面我就连同Qt、MFC一起来介绍一下几种常用的界面开发框架。 Qt,Qt之前是被诺基亚作为塞班操作系统的主力开发工具,后被广泛应用于PC领域的开发。Qt最大的优势在于它的跨平台特性,可以实现一套代码编写不同平台下的应用程序,目前多用于Linux系统下的GUI程序开发,Windows下也有一些使用。 MFC。MFC的全称叫做MicrosoftFoundationClass(微软基础类库),它是将Windows的基础api封装后的一个GUI开发框架。它最大的优势是可以直接使用Windows的系统api,实现程序性能的最大化。它的劣势在于逻辑太过复杂,会让初学者望而却步,事实上,很多大学计算机课堂上都已经不在讲授mfc(MFC背戏称为没饭吃)了。 C。咦,不是在讲C吗,事实上,很多Windows下的程序都是使用C快速开发出界面,在用C实现后台控制,这样既能快速开发出好看美观的界面(C优势所在),又能实现高效的后台(C的优势),岂不快哉。 WEB。既然C都能开发GUI,那么比C语法还要简单的web开发语言不行吗?当然可以了。这里举个栗子,大名鼎鼎的PC端词典软件有道英语词典正是WEBC搞定的。网易的大牛们使用WEB(如HTML5)技术快速开发出酷炫的界面以及网络通信模块,再用c实现算法及其他控制模块,就这样最大限度的实现了界面的美观性和程序性能的整合。当然,Windows下的界面开发技术还有很多,欢迎大家关注太科罗技,并在下方积极留言讨论。 其实选什么学习还得根据自身的需求。语言不分好坏在于人。精通才是正道。当下window下流行的编程语言,有vb,mfc,csharp,。如果没啥限制,建议第三个吧,简单粗暴上手快,开发效率也高。如果公司或硬件限制必须用mfc或其他语言,那学就是。都是微软的产品,我开发项目都用过,知识通用。至于qt封装是全,相对微软自家的产品,用的人少些。问题多靠自己解决 谢邀。 具体选择QT还是MFC,这要根据题主的需求来决定。如果你入职一家公司,做的是老项目的维护,而原有项目是采用MFC来开发,那么当然,你没得选,只能老老实实的继续MFC,虽然这玩意写起来真的很虐心。如果是一个全新的项目,那么还是首选Qt。 下面根据自己的认识,推荐几款Windows下开发界面开发常用技术。1)Qt 号称可以跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快一点,最新版本支持的特性QML,可以让我们用JS,CSS来绘制客户端界面,写起来效率也是蛮高的。缺点就是文档可能没有MFC那么齐全,基本只有官方的官网和Demo,而且发布包体积会比较大。 2)MFC 全称MicrosoftFoundationClasses(微软基础类库),可以算的上是上古产品了吧,目前除了维护老项目,应该很少有团队使用MFC来开发了吧。基本上MFC没饭吃。建议如果你是初学者,界面开发还是不要选择MFC了。它唯一的好处就是微软的MSDN文档比较齐全,相关论坛和那种问答的资源要多很多,一般初学者遇到的问题都可以看到前辈们的解决方法。不过目前它已经被其亲爹微软抛弃了。 3)Duilib 目前已开源,是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。唯一不足的是原开发者已经停止维护,很多都是个人在维护,出了问题的话,只能自己去摸索,Debug。下面是一款个人使用Duilib开发的迅雷播放器界面效果。 最后附上一些基于Duilib开发的软件不完全列表(欢迎大家补充指正): 百度:PPS爱奇艺百度杀毒百度卫士91助手 腾讯:微信企业微信 阿里:钉钉支付宝安全控件PP助手 书生云:书生企业云盘 微软:微软壁纸 网易:易信云音乐荒野行动PC版 华为:华为网盘 金山:金山快盘 京东:咚咚 cctv:cbox 酷我:酷我音乐盒 蘑菇街:TeamTalk 火绒:火绒安全软件 盘古:盘古越狱工具 顺网:网维大师91y 网狐:网狐经典版 墨迹风云:墨迹天气 zoomcloud:Zoom视频会议 搜狗:搜狗手机助手 沃通:沃通代码签名工具 驱动人生:驱动人生人生日历 维棠:维棠 深圳市北斗智研科技:智能办公助手ERP管理系统4)Electron 这玩意应该是这几年才火起来的吧,宣城自己可以通过使用JavaScript、HTML和CSS构建跨平台的桌面应用程序,让人们感觉JS真的有一统天下的趋势(Web、移动端、PC客户端)。开发效率真心的高,不过貌似商用上还不是特别的多,典型的成功案例目前知道的有VSCode,Atom。 两者之间二选一的话肯定选Qt了,如果再考虑开发效率与运行效率的话,可以在Python平台上使用Qt的Python绑定库PyQt,再配合C,主体用Python语言,界面部分用PyQt搭建,核心算法部分用C封装成动态库DLL文件,在Python里去调用。这样是一个不错的方案,Python部分缩短了开发时间,C部分保证了运行速度,只是前提是,你要会用C写DLL,在Python里会调用DLL。 作为做了近2两年windowsapplication的人来说,我直接说Qt!首先我主要做pc和下位机通信的app,如串口、tcpip、总线类等。选qt理由如下:【仅从我的经历来讲】 1、Qt开发效率高。我第一个项目前几个项目用的MFC,平均时长3个月,一个软件80的时间都放在界面上去了。然后后面开始使用Qt,一个月能做好几个app没压力,界面布局很方便,不用像MFC去一个一个控件拖动。 2、Qt库简单易懂。个人的感觉就是MFC与winapi联系太大了,你要玩转MFC,必须要把windowsapi相关知识搞得明明白白的。而Qt库把每一个功能都封装得很好,很容易去使用,不需要没事就百度怎么用。 3、MFC已经在淘汰边缘了。到如今Qt还在不断更新,我目前使用的是Qt5。9。在平时招聘的时候,也很少看到有公司让你专职做MFC,要么Qt,要么C。 4、Qt跨平台。我当初换Qt的一个原因还是,我以后如果不做windows了可以换linux上位机,Qt可以做到很好的跨平台,而MFC不行。 必须Qt啊,跨平台,还有鬼知道项目以后要不要跑Linux和嵌入式设备上!界面简单的话,用qml开发,可以直接移植到嵌入式设备上去,还可以把编写逻辑的程序员和界面设计师分离出来!mfc现在微软都放弃更新维护了,mfc开发界面很麻烦的,除非老项目要维护,不然不建议再用mfc做新项目了!Qt的信号与槽很赞,比mfc的回调函数好用多了! 两者没有好坏之分,需要看应用场景。如果是界面要求不高,稳定性和效率要求高的工业软件,MFC是最好的选择。如果是界面要求美观,跨平台使用,QT是最好的选择。但是要注意的是QT企业用是需要授权费的。另外,windows上的界面还有其他选择wpf,directui等。这里着重提一下directui,目前可以找到比较好的就是duilib这个界面库,开源稳定易用高效。关注我一起探讨呀! 我们来简单比较一下QT和MFC。1。开发速度 整体来说可能MFC会快捷一些,因为windows平台的开发工具大多很智能,因为立足于windows的开发人群很广,从菜鸟到专业人士,但是QT由于基于Linux,可用的开发工具不多,大都比较专业,多是第三方产品,而且集成度不大,第三方库也没有MFC得多,从这一点MFC略胜一筹,但是QT自从被Nokia收购后,官方发布了跨平台集成开发环境QTCreator,所以之后走向就不好说了,个人总体感觉QTCreator和VS。net差距比较大,还需改进。 但是从库本身来说QT集成的功能较MFC庞大,而且使用的封装技术信号和槽也是比较受到赞许的,比如QTScript为QT提供嵌入式脚本,QT界面库支持CSS,所以QT做出来的界面比MFC要好,而且比较容易,MFC就需要借助第三方库了。 因为MFC是浅层封装(最新的2008sp1加入了BCG的高级界面库,可能有所改善)windowsSDK,以降低使用windowsSDK引起的开发效率的降低,和开发难度的增加。 所以QT库是比MFC优秀的,两个库都经受了时间的考验,稳定性都很高,Bug几乎没有。 2。运行效率 MFC由于其浅层封装的特点,所以运行效率是比较高的,加上vc对windows的针对性优化,整体性能是比较高的,但是如果加入第三方库就不敢保证了。 QT因为库比较庞大,封装层次较深,所以运行效率较MFC为低,但是在现在的机器配置下,C大家都不介意了,这些会引起人们的介意吗? 3。学习难度 QT的封装哲学比较明晰,和系统隔离得比较好,门槛不高; MFC较难精通,因为深入开发之后SDK还是要了解的。 mfc底层太复杂了,但资料多,开源代码多。 qt底层可能好点,但资料和整个开发环境肯定不如vs系列。 微软精力不在mfc上面了,而qt则要在竞争中求存活。 用什么看开发习惯,熟悉哪个用哪个。有困难找我 QT和MFC我在工作中都会用到,MFC主要是一些老的维护程序,近几年新开发的程序基本全部都是用QT。所以我还是建议你用QT,功能强大,使用起来也比MFC简单,而且如果后面需要跨平台移植的话,也会很方便。另外我也在不断更新C和QT方面的内容,关注我,一起学习进步。