C++最好的圖形庫是什麼?

Coding十日談發表於2020-08-14

 

本文字數:1660,閱讀時長大約:15分鐘



世界上的GUI庫多如牛毛,有的開源,有的收費,有的可以做手機app開發,有的可以做桌面應用,有的只能用在某個系統,有的支援跨平臺。基於不同的程式語言,人們又開發出不同的圖形框架,比如Java有AWT、Swing;C#有WinForm和WPF;C++有MFC、QT、wxWidgets等。在C++的庫中,QT憑藉對跨平臺的支援、簡單易用、開發效率高等特性,成為最受歡迎的GUI庫之一。

 

一、Qt是什麼

引用百度百科一句話概括:“Qt是一個1991年由Qt Company開發的跨平臺C++圖形使用者介面應用程式開發框架。”

Qt支援市場上常用的作業系統,並且開發出的圖形介面非常優美。它是完全物件導向的,容易擴充套件,允許真正的元件程式設計。

 

二、平臺支援

Qt不僅支援桌面系統,還支援手機和嵌入式的應用。桌面系統包括Windows、Unix、Linux、Mac,手機系統支援安卓和iOS等。和Java不同的是,它沒有執行在額外的一層虛擬機器上,而是針對不同的系統提供了相應的套件和編譯器。Qt的跨平臺支援使得它對不同平臺的開發部署更為簡單。

 

三、使用Qt開發的應用

使用Qt開發的應用很多,比較著名的有Linux的桌面環境KDE、WPS、Skype、VirtualBox虛擬機器、谷歌地圖、VLC播放器等等,其中KDE已經是Linux的主流桌面應用之一。

 

四、Qt的優點

使用Qt開發有很多優點,比如:

  • 跨平臺支援:如果你希望程式執行在多個平臺下,同時又降低開發成本,Qt是很好的選擇
  • 簡單易學:封裝好,幾行簡單的程式碼就可以開發出簡單的程式,不需要對作業系統底層有太多瞭解
  • 資料豐富:網路上有很多的資料,社群氛圍好,可以得到很多幫助
  • 介面漂亮:Qt很容易開發出比較炫酷的效果,而MFC、wxWidgets等就比較麻煩
  • 獨立安裝:不像Java需要安裝虛擬機器,C#需要.net,Qt會編譯成原生程式碼,不需要額外庫的支援

因為Qt的種種優勢,它在市場上的份額越來越高,得到很多公司的青睞。下面列舉了獵聘上一些Qt工程師的職位,月薪基本上在2萬-3萬之間。

 

五、Qt的發展史與版本

Qt幾經輾轉,被很多公司收購過,換了很多東家:

  • 1991年由挪威的一家計算機公司Trolltech(奇趣科技)開發
  • 1996年進入商業領域,成為Linux KDE的基礎
  • 2008年奇趣科技被芬蘭巨頭諾基亞收購
  • 2012年諾基亞瀕臨破產,Qt出售給了芬蘭的一家IT公司Digia

 

Qt的版本:

  • Qt 1 - 3都是由奇趣科技開發的
  • 諾基亞開發了Qt 4版本
  • Digia開發了Qt 5,但是Qt 5對 Qt 4不相容

另外Qt有商業版和免費版。兩者的程式碼都是一致的,但商業版可以得到售後服務,比如培訓和技術支援。免費版需要遵從LGPL協議,簡單說,你需要開放所有使用了LGPL協議的程式碼,所以使用免費版Qt進行商業開發的同學要注意商業糾紛的風險。

 

六、Qt的下載與安裝

(1)下載

Qt有線上安裝包和離線安裝包。線上安裝包的使用體驗不是很好,經常會卡頓在99%的進度不能繼續,所以推薦大家使用離線安裝包。安裝包的下載可以使用以下兩個網站:

http://www.qtcn.org/bbs/read-htm-tid-1075.html

https://www.qt.io/offline-installerst

 

比如下載Windows下的Qt 5.14的離線安裝包可以選擇下面這個連結:

(2)安裝

下載好後,前面基本一直點選下一步就可以了:

這一步要註冊Qt賬戶,需要一個郵箱地址,可以按提示操作

指定安裝路徑

下面需要選擇套件,這些套件都包含專屬的編譯器。

  • MSVC是Desktop Qt MSVC的套件,需要安裝Visual Studio相對應的版本

  • MinGW是Desktop Qt MinGW的套件。MinGW是Minimalist GNU for Windows的縮寫,是在Windows平臺上使用的GNU工具集匯入庫的集合,這個集合包括了C編譯器gcc,C++編譯器g++,和偵錯程式gdb等工具。如果不使用Visual Studio,可以選擇這個套件

  • UWP是針對Win 10以後UWP程式的套件
  • Android,如果需要開發安卓app,需要勾選這個套件
  • Sources可以下載Qt的原始碼
  • Qt的其他元件,比如Qt Charts、Qt Quick 3D等,可以根據需要選擇,注意括號裡寫著(Deprecated)的套件是為了相容老版本,如果是開發新程式不用選擇
  • Developer and Desinger Tools裡面Qt Creator是一定要選的,如果使用Qt Creator開發,MinGW也要勾選上

 

接下來都點選下一步就可以了

接下來開始安裝

安裝成功

 

七、總結

Qt有著良好的跨平臺支援、介面優美、簡單易用、學習資料豐富等優點,和其他的GUI框架相比受到開發者們的廣泛歡迎,因此想要從事圖形介面開發的同學可以考慮學習Qt。

 

 

推薦閱讀:

Linux快速搭建C/C++開發環境

一篇文章快速搞懂什麼是GitHub

虛擬機器安裝 Linux 最完整攻略

Vi 和 Vim 的使用

 

 

 

 

獲取知識乾貨、增加面試經驗、瞭解職場人生

歡迎關注微信公眾號

 


 

相關文章