城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

做windows界面,用QT还是MFC?

3月27日 老巫婆投稿
  使用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方面的内容,关注我,一起学习进步。
投诉 评论 转载

怎么评价撒贝宁?当大家对撒贝宁的印象还停留在《今日说法》里的严肃脸时,他已经活跃在各大综艺节目里:央视《了不起的挑战》、网综《明星大侦探》等等,更因为幽默搞怪的一面,获封了综艺魔王的称号。……2022世界十大大学排名安徽省大学世界排名,中国科学技术大学20212022年安徽省哪所院校的国际排名最高?安徽省哪些高等院校挺进20212022世界十大大学排名500强?2022年全国高考录取控制分数线揭晓,为了给考生选择报考安……欧国联3德国6场不胜凯恩垫射哈弗茨梅开二度绝平北京时间9月27日凌晨2点45分,202223赛季欧洲国家联赛A级第6轮迎来一场强强对话,英格兰队坐镇主场温布利迎战德国队。上半场,两队都没有进球;下半场风云突变,马奎尔送点,……如果你的孩子借了网贷,在无力偿还的情况下向你坦白了,你该怎样我姐就碰到过这种事情。侄女欠了网贷费用3000,逾期三个月了,3000都变成4000元了,接到对方催款电话时,姐姐想不帮侄女还,让她吸收点教训。可是后来连续打了几次电话,想想挺……交通法规入童心城阳交警组织开展交通安全进校园活动大众网海报新闻记者魏新宇通讯员刘瑞琼王俊青岛报道视频加载中。。。为进一步增强校园交通安全的普及力度,提升孩子们的自我防护意识,预防和减少交通事故对孩子们的伤害,城阳……流行了好几年的阔腿裤,学日本主妇穿大一号更时髦,高级显瘦有那么一件裤装,一直都备受女性的青睐和追捧,它就是阔腿裤!作为一款流行已久的时尚单品,阔腿裤在时尚界当中的地位还是非常稳定的,毕竟它遮肉、显瘦、显高的优势还是不容小觑的。但是在……两种老人最难养老,即使再有钱也很难晚年幸福,看看你在不在其中导语:当我们到了老年,最大的愿望莫过于能够拥有一个舒适惬意的晚年,生活得开心快乐,能够有一个健康的身体,多看看世间的美好。然而,世间的事情,常常时理想很美好,现实却……来了!篮网出手了!湖人这是被排挤了吗有关杜兰特的交易一直都没什么进展,篮网看起来完全一副不慌不忙的样子。感觉跟去年75人对西蒙斯的态度差不多,是不是感觉有点不太妙?!不过今天篮网总经理肖恩马克斯出现在……永顺县青坪镇开展幼儿园食品安全隐患检查红网时刻新闻2月17日讯(通讯员胡宇亮)为加强安全管理,排查安全隐患,预防安全事故的发生,保障幼儿的安全,2月16日,永顺县青坪镇党委政府、妇联联合永顺县外资外援办到辖区内幼儿……财政部等三部门明确跨境电子商务出口退运商品税收政策欧阳剑环中国证券报中证网中证网讯(记者欧阳剑环)财政部网站2月1日消息,为加快发展外贸新业态,推动贸易高质量发展,财政部、海关总署、税务总局日前印发的《关于跨境电子商务出……做windows界面,用QT还是MFC?使用Qt吧,前提是在这两者下进行选择。既然提到了Qt和MFC,我想题主肯定是一个C的开发者。其实,在我看来,Windows下开发界面程序,还有很多其他的选择。下面我就连同Qt、……重返帝国S3白起剑阵容搭配推荐重返帝国S3很多玩家都会面临转型的问题,毕竟新赛季的变化其实比较大的,其中白起算是强势崛起了,白起剑、白起骑、白起枪选择是会有很多玩家在犹豫,今天给大家介绍的就是白起剑阵容搭配……
刘禅的老婆与张飞长相相似后期被别人当成悍妇遇到这些问题,年轻人有点慌?复旦教授指路肩膀宽女生适合穿什么衣服显瘦穿搭技巧图惊奇队长是地球人还是克里人揭秘出席中国共产党第二十次全国代表大会代表全部选出大乐透22070期晒票,一张2。5万元的大复式票,能否如愿以孕妇盆腔炎症状有哪些一段散了的婚姻给我们的启示美好的回忆龚道安一审被判无期徒刑大量理想ONE车主索赔,销量又腰斩,理想真的很不理想?风华造句用风华造句大全员工失踪中止劳动关系是否合法?小学生我的同学作文500字汇编八篇俗话说早上洗澡灭阳气,晚上洗澡生湿气,什么时间洗澡最好娇兰复原蜜一周用几次娇兰复原蜜有哪些功效2023新能源行业网站建设现状及定制设计趋势分析买牛肉,挑干的还是湿的?记住4不买,新鲜口感好,还不缩水产后什么时候可以恢复性生活UI设计新手?试一试这7条法则(Part2)个人社保缴费交齐了批不下来怎么办?照看造句用照看造句大全廖学权:关于对乡镇长实行二轮直选的设想五新动力推动稳如泰山酒掘进全国市场

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找