{eval=Array;=+count(Array);}
回答問題之前,先說下結論,其實在C++領域,Qt算是很不錯了。玩C++的,如果沒有聽說過Qt,那么我可能要懷疑你的專業水平了。有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工業、電力、視頻監控等行業也有它。那為什么會給人以Qt框架不是很流行的錯覺呢?
1、Qt在C++領域已經相當火了,但架不住C++本身不火,現在是互聯網的天下……
2、Qt沒有個好爹。從最早的TrollTech,到后來Nokia,再到Digia,現在甚至獨立出來自己上市了。
3、授權協議,目前Qt是GPL和LGPL,這個就不用我詳細解釋了吧,動不動就要開源。除非買企業版解除這個限制,但是企業版又意味著一大筆開銷。
4、編譯后打包的東西太大太大。
最后,附一張使用Qt的QSS基礎繪制的PC客戶端界面換膚效果圖。
以上就是我的觀點,喜歡就【點個贊】吧!
Qt框架非常強大,但是,代碼書寫太麻煩,不適合新手。
目前有Pyqt5和pyside2是用python的代碼書寫制作GUI,雖然很強大,但是也只是適合老程序員,新手也還是覺得太麻煩,流行不起來。
如果只是制作簡單的GUI目前有很多其他簡單的工具,就python就有很多種方法制作小工具的GUI
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++語言的高效率,以及開源加持,目前依然有著廣泛的使用場景,而且使用人數還在逐年上升。
Qt不夠流行,其實一大半的原因就是因為C++。咱們程序員,肯定對C++這門語言有所耳聞,這可以說是世界上最難學的一門語言,也是最難精通的一門語言。這門語言有著最豐富的語言功能,同時也讓人痛苦的使用著尋找各種bug??梢哉f,C++這門語言,配得上世界上最優美的贊譽,也承受著最讓人抓狂的怒火。
Qt生在CPP上,可謂是成也CPP敗也CPP。一方面, CPP強大的功能集合賦予了Qt豐富的功能,CPP的原生內存操作功能也讓QT一直以高性能的姿態傲立群雄??上У氖牵F在已經是托管型語言的時代了,CPP作為一門直接操作內存的語言,學習和使用成本太高了。Java等各種帶垃圾回收的語言更加方便好用。這也很大程度上促成了QT的衰落。
更重要的一個原因就是移動互聯網的發展,高性能低價格的智能手機在大眾普及,這讓移動互聯網的流行成為了可能。因此安卓、iOS這些編寫手機app的框架更加流行,QT也風光不再。不過就算是現在,如果你在尋找一個高性能、跨平臺、支持桌面的圖形框架,那QT仍然是一個強大的選擇。
大廠要的是執行效率qt是通用的給不了,qt要的是開發效率。不可想像一個京東app如果用qt開發,那個卡。除非qt深度定制,人家都有一堆高手,何必找些不可控的事來做。
巨頭用qt的比較少,一方面是由于qt的商業授權,一方面是自主可控,還有技術沉淀,qt涉及的內容非常多,對大廠的業務來說有些臃腫。我不知道,火應該怎樣定義,像python那樣?畢竟cpp開發人員就少,qt不過是個ui框架,這里邊還由于幾大廠都有自己的發展路線。比如微軟,谷歌,蘋果,這也就導致沒有頂級大廠支持。但是,qt在開源界,中小企業用的相當多,因為它足夠強大。
10
回答2
回答10
回答3
回答0
回答0
回答0
回答10
回答0
回答10
回答