Qt是什么?Qt可以做什么?學習Qt需要有哪些基礎?
在介紹Qt使用前,先從以下幾個方面簡單了解一下
Qt是什么?
Qt是一個跨平臺的 C++ 開發(fā)庫,主要用來開發(fā)圖形用戶界面(Graphical User Interface,GUI)程序,當然也可以開發(fā)不帶界面的命令行(Command User Interface,CUI)程序。Qt 支持的操作系統(tǒng)有很多,例如通用操作系統(tǒng) Windows、Linux、Unix,智能手機系統(tǒng) Android、iOS、WinPhone, 嵌入式系統(tǒng) QNX、VxWorks 等等。
Qt可以做什么?
Qt 雖然經常被當做一個 GUI 庫,用來開發(fā)圖形界面應用程序,但這并不是 Qt 的全部;Qt 除了可以繪制漂亮的界面(包括控件、布局、交互),還包含很多其它功能,比如多線程、訪問數據庫、圖像處理、音頻視頻處理、網絡通信、文件操作等,這些 Qt 都已經內置了。
目前很多應用程序都是qt開發(fā)的:比如WPS、YY語音、Skype、豆瓣電臺、蝦米音樂、淘寶助理、千牛、暴雪的戰(zhàn)網客戶端、VirtualBox、Opera、咪咕音樂、Google地圖、Adobe Photoshop Album 等
總起來說,Qt 主要用于桌面程序開發(fā)和嵌入式開發(fā)。
學習Qt需要有哪些基礎?
Qt 是純 C++ 開發(fā)的,所以學好 C++ 非常有必要,對于不了解 C++ 的讀者,我建議先閱讀《C語言教程》,再閱讀《C++教程》。C++ 是在C語言的基礎上發(fā)展起來的,學完C語言就學了 C++ 的一半了。
Qt發(fā)展溯源?
1991:Haavard Nord和Eirik Chambe-Eng開始開發(fā)將會支持X11和Windows的Qt 1994:Qt Company成立,在這之后改名為Trolltech,中文名是奇趣科技。 1995:Qt的第一個商業(yè)版本發(fā)布,Qt正式步入商業(yè)化。但是Qt一直分為商業(yè)版和開源版兩個版本,商業(yè)版由Qt公司提供技術支持,開源版可以奉行Qt公司的規(guī)則來免費使用。 2000:Qt嵌入式版本發(fā)布標志著Qt多平臺開發(fā)已經由多窗口向著單窗口發(fā)展。
同年,Qt全平臺使用GPL協(xié)議,GPL協(xié)議指如果你開發(fā)了新程序,每個人都能在遵守條款的基礎上對它進行修改和重新發(fā)布。從客觀上講使用這一協(xié)議限制了Qt的發(fā)展。 2008:諾基亞公司宣布通過公開競購的方式收購奇趣公司,Qt技術被諾基亞公司收入囊中,諾基亞也根據自己移動平臺來規(guī)劃Qt的發(fā)展。
2009:從發(fā)布的Qt 4.5 起,諾基亞為Qt增添開源LGPL授權選擇,這一協(xié)議直接讓Qt完全成為大眾化的代碼庫,是一種進步的表現(xiàn)。同年,諾基亞Qt Software 宣布Qt源代碼庫面向公眾開放,Qt 開發(fā)人員可通過為 Qt 以及與 Qt 相關的項目貢獻代碼、翻譯、示例以及其他內容,協(xié)助引導和塑造 Qt未來的發(fā)展。為了便于這些內容的管理,Qt Software 啟用了基于Git 和 Gitorious 開源項目的Web 源代碼管理系統(tǒng)。
2011:Digia從Nokia收購了Qt的商業(yè)版權,從此Nokia負責Qt on Mobile,Qt Commercial由Digia負責 2012:作為非核心資產剝離計劃的一部分,諾基亞宣布將Qt軟件業(yè)務出售給芬蘭IT服務公司Digia。 2014:跨平臺集成開發(fā)環(huán)境Qt Creator 3.1.0正式發(fā)布,實現(xiàn)了對于iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調試支持,集成了基于Clang的C/C++代碼模塊,并對Android支持做出了調整,至此實現(xiàn)了全面支持iOS、Android、WP,它提供給應用程序開發(fā)者建立藝術級的圖形用戶界面所需的所有功能。
Qt優(yōu)勢?
1、跨平臺。我們編寫的一套程序,若沒有極其特殊的要求,通過更改編譯步驟,是可以在其他嵌入式或者linux界面上被支持的,所以Qt可以算是MFC的一個超集。這對于很多嵌入式程序員來說可以說是一個福利。
2、面向對象。模塊化程度高,重用性好;使用相對安全的信號與槽機制來代替回調函數,各個函數之間的協(xié)調更加靈活。
3、豐富的API。我們所需要的庫,在其API中都可以找到,并且有很高的集成度,不僅速度快并且簡單易用。
4、幫助文檔豐富。我們在使用庫函數時,并不是每個函數都可以清楚記得作用及用法,此時Qt的幫助文檔可以幫助我們解決此問題 5、Qt支持2D/3D圖形渲染,并且支持OpenGL。

相關推薦HOT
更多>>
unity圖集合并成圖片
Unity圖集合并成圖片是一種將多個小圖片合并成一個大圖片的技術。這種技術在游戲開發(fā)中非常常見,可以有效地減少內存占用和提高渲染效率。我們...詳情>>
2023-08-28 18:07:44
unity向量旋轉得另一向量
Unity中的向量旋轉是一項常見的操作,可以通過使用旋轉矩陣或四元數來實現(xiàn)。以下是關于如何在Unity中旋轉一個向量得到另一個向量的詳細解釋。在...詳情>>
2023-08-28 18:07:42
unity哪個版本免費
Unity是一款強大的游戲開發(fā)引擎,提供了許多功能和工具,可以幫助開發(fā)者輕松創(chuàng)建高質量的游戲。關于Unity的版本免費問題,我將為你詳細解答。Un...詳情>>
2023-08-28 18:07:42
unity對象池怎么寫
Unity對象池是一種常用的優(yōu)化技術,用于管理和重復利用游戲中的對象,以減少內存分配和銷毀的開銷。在Unity中,可以通過編寫一些代碼來實現(xiàn)對象...詳情>>
2023-08-28 18:07:41