{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

为什么Qt框架不是很流行?

VincentFFVincentFF 回答10 收藏1
问题描述:qt非常优秀,而且不单单是图形库,为什么国内的众多互联网企业宁愿自己开发一套图形库也不用现成的qt?(比如迅雷就自己开发了图形库)是因为授权吗?qt花大力气适配移动平台为什么没多少人用?
收藏问题

10条回答

Jensen

Jensen

回答于2022-06-22 19:39

回答问题之前,先说下结论,其实在C++领域,Qt算是很不错了。玩C++的,如果没有听说过Qt,那么我可能要怀疑你的专业水平了。有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工业、电力、视频监控等行业也有它。那为什么会给人以Qt框架不是很流行的错觉呢?


1、Qt在C++领域已经相当火了,但架不住C++本身不火,现在是互联网的天下……


2、Qt没有个好爹。从最早的TrollTech,到后来Nokia,再到Digia,现在甚至独立出来自己上市了。


3、授权协议,目前Qt是GPL和LGPL,这个就不用我详细解释了吧,动不动就要开源。除非买企业版解除这个限制,但是企业版又意味着一大笔开销。


4、编译后打包的东西太大太大。

最后,附一张使用Qt的QSS基础绘制的PC客户端界面换肤效果图。

以上就是我的观点,喜欢就【点个赞】吧!

评论0 赞同0
  •  加载中...
paney129

paney129

回答于2022-06-22 19:39

Qt框架非常强大,但是,代码书写太麻烦,不适合新手。

目前有Pyqt5和pyside2是用python的代码书写制作GUI,虽然很强大,但是也只是适合老程序员,新手也还是觉得太麻烦,流行不起来。

如果只是制作简单的GUI目前有很多其他简单的工具,就python就有很多种方法制作小工具的GUI

评论0 赞同0
  •  加载中...
mozillazg

mozillazg

回答于2022-06-22 19:39

C++作为一门优秀的编程语言,也曾经独领风骚,只是因为没有一个统一的图形库而备受诟病,虽然曾经有C++ Builder和MFC让程序员眼前一亮,但是因为这些图形库设计的先天不足,导致难以学习又使用不便,并且随着Java与C#的兴起,逐渐淡出人们的视线。

同Java、C#等语言相比,C++有一个巨大的优势就是性能,在对性能要求较高的场景还是少不了C++身影,C++依然有很大的使用群体,所以很自然的就有人想要推出一套更好的C++的图形库,于是QT就应运而生了。其实QT也是几易其主,并最终逐渐被很多程序员认识并使用。

那么为什么QT不是很流行呢,我认为主要有以下几个原因:

第一, QT依赖的编程语言C++本身式微,在最新的TOBIE编程语言排行榜上,C++的份额比Java要低很多。


第二, 多语言混合编程的兴起,在早期的编程实践中,多语言编程是一件很麻烦的事情,随着技术的不断进步,混合编程已经变得容易很多,于是C++更多的是从事幕后的工作,UI的工作则可以由其它语言完成,比如C#调用C++的库。

第三, QT框架的核心技术是引入了信号-槽机制,以及在此基础上建立的图形库和辅助工具,如uic, moc, rcc等,这些工具的引入增强了QT的功能,但是却引入了另外一个严重的问题,编译时间的增长。正常情况下C++只需要编译一次,但是在使用了QT信号-槽机制的C++文件中,则需要先使用moc编译生成一个中间文件,然后再编译该中间文件,等于编译两次,大大增加了编译时间。

综上,虽然QT有一些不足,但是因为它是一套优秀的可以跨平台的编程框架,在加上C++语言的高效率,以及开源加持,目前依然有着广泛的使用场景,而且使用人数还在逐年上升。

评论0 赞同0
  •  加载中...
harriszh

harriszh

回答于2022-06-22 19:39

Qt不够流行,其实一大半的原因就是因为C++。咱们程序员,肯定对C++这门语言有所耳闻,这可以说是世界上最难学的一门语言,也是最难精通的一门语言。这门语言有着最丰富的语言功能,同时也让人痛苦的使用着寻找各种bug。可以说,C++这门语言,配得上世界上最优美的赞誉,也承受着最让人抓狂的怒火。


Qt生在CPP上,可谓是成也CPP败也CPP。一方面, CPP强大的功能集合赋予了Qt丰富的功能,CPP的原生内存操作功能也让QT一直以高性能的姿态傲立群雄。可惜的是,现在已经是托管型语言的时代了,CPP作为一门直接操作内存的语言,学习和使用成本太高了。Java等各种带垃圾回收的语言更加方便好用。这也很大程度上促成了QT的衰落。


更重要的一个原因就是移动互联网的发展,高性能低价格的智能手机在大众普及,这让移动互联网的流行成为了可能。因此安卓、iOS这些编写手机app的框架更加流行,QT也风光不再。不过就算是现在,如果你在寻找一个高性能、跨平台、支持桌面的图形框架,那QT仍然是一个强大的选择。

评论0 赞同0
  •  加载中...
anyway

anyway

回答于2022-06-22 19:39

大厂要的是执行效率qt是通用的给不了,qt要的是开发效率。不可想像一个京东app如果用qt开发,那个卡。除非qt深度定制,人家都有一堆高手,何必找些不可控的事来做。

评论0 赞同0
  •  加载中...
fish

fish

回答于2022-06-22 19:39

巨头用qt的比较少,一方面是由于qt的商业授权,一方面是自主可控,还有技术沉淀,qt涉及的内容非常多,对大厂的业务来说有些臃肿。我不知道,火应该怎样定义,像python那样?毕竟cpp开发人员就少,qt不过是个ui框架,这里边还由于几大厂都有自己的发展路线。比如微软,谷歌,苹果,这也就导致没有顶级大厂支持。但是,qt在开源界,中小企业用的相当多,因为它足够强大。

评论0 赞同0
  •  加载中...
siberiawolf

siberiawolf

回答于2022-06-22 19:39

PC时代已经过去了,CPP辉煌时代也已经过去了。

评论0 赞同0
  •  加载中...
brianway

brianway

回答于2022-06-22 19:39

qt,最近几年还是比较火热,那些大企业开发自己的ui框架算不了什么难事

评论0 赞同0
  •  加载中...
fuchenxuan

fuchenxuan

回答于2022-06-22 19:39

KDE,QT开发的。

评论0 赞同0
  •  加载中...
ityouknow

ityouknow

回答于2022-06-22 19:39

目前重心都是app

Qt还在忙于移植到安卓 苹果,但是桌面软件和商用软件里,它的身影比较多

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<