1、Qt是什麼
簡介
Qt是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既能夠開發GUI程序,也可用於開發非GUI程序,好比控制檯工具和服務器,而且是開源的,須要遵循LGPL或GPL協議。簡單來講,QT能夠很輕鬆的幫你作帶界面的軟件,甚至不須要你投入很大精力。c++
支持的平臺:
- MS/Windows - 9五、9八、NT4.0、ME、2000、XP 、Vista、Win七、win八、win200八、win10
- Unix/X11-Linux、SunSolaris、HP-+UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它不少X11平臺
- Macintosh -Mac OS X
- Embedded - 有幀緩衝(framebuffer)支持的嵌入式Linux平臺,Windows CE
- Symbian、Symbian^三、Symbian Anna、Symbian Belle、MeeGo
2、Qt的由來和發展
- 一、Qt是一個1991年由奇趣科技開發的跨平臺C++圖形用戶界面應用程序開發框架。它既能夠開發GUI程序,也可用於開發非GUI程序,好比控制檯工具和服務器。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平臺上的 MFC,OWL,VCL,ATL 是同類型的東西。
- 2.、Qt是面向對象的框架,使用特殊的代碼生成擴展(稱爲元對象編譯器(Meta Object Compiler, moc))以及一些宏,易於擴展,容許組件編程。
- 3.、2008年,奇趣科技被諾基亞公司收購,QT也所以成爲諾基亞旗下的編程語言工具。
- 4.、2012年,Qt被Digia收購。
- 5.、2014年4月,跨平臺集成開發環境Qt Creator 3.1.0正式發佈,實現了對於iOS的徹底支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調試支持,集成了基於Clang的C/C++代碼模塊,並對Android支持作出了調整,至此實現了全面支持iOS、Android、WP。
- 6.、Qt的版本衆多,可分爲兩你們族:桌面平臺家族與嵌入式平臺家族。對於用戶來講,桌面家族和嵌入式家族所調用的函數與類是一致的,這樣當你移植一個系統時所作的改動就不多,甚至只需從新編譯。Qt與Java同屬跨平臺的開發工具,但原理卻徹底不一樣:Qt的跨平臺特徵是在代碼級實現而非運行級,不一樣的平臺須要單獨編譯,所以也不須要什麼虛擬機。若是說Java是「一次編譯,處處運行」的話,Qt就是「一次編碼,處處編譯」。這種差別致使的結果是Qt開發的程序運行效率要高於Java開發的程序,能夠用於工控等有實時性要求的場合。
3、Qt的特色
Qt的特色
- Qt 是一個跨平臺的C++應用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系統等。也就是說,Qt 能夠同時支持桌面應用程序開發、嵌入式開發和移動開發,覆蓋了現有的全部主流平臺。你只須要編寫一次代碼,發佈到不一樣平臺前從新編譯便可。
- Qt 不只僅是一個GUI庫,它除了能夠建立漂亮的界面,還有不少其餘組件,例如,你再也不須要研究STL,再也不須要C++的頭文件,再也不須要去找解析XML、鏈接數據庫、Socket 的各類第三方庫,這些 Qt 都已經內置了。
- Qt的良好封裝機制使得Qt的模塊化程度很是高,可重用性較好,對於用戶開發來講是很是方便的。Qt提供了一種稱爲signals/slots 的安全類型來替代callback,這使得各個元件之間的協同工做變得十分簡單。
- Qt 是應用程序開發的一站式解決方案!
- Qt 雖然龐大,封裝較深,但它的速度並不慢,雖不及MFC,但比Java、C#要快。Qt 程序最終會編譯成本地代碼,而不是依託虛擬機。
- Qt包括多達250個以上的C++類,還提供基於模板的collections、serialization、file、I/O device、directory management和date/time類。甚至還包括正則表達式的處理功能。
Qt能夠作什麼
-
使用 Qt 開發的程序很是多。1997年,Qt 被用來開發 Linux 桌面環境 KDE,大獲成功,使 Qt 成爲 Linux 環境下開發 C++ GUI 程序的事實標準。Linux 也是嵌入式的主力軍,普遍應用於消費類電子、工業控制、軍工電子、電信/網絡/通信、航空航天、汽車電子、醫療設備、儀器儀表等相關行業,這些地方都有 Qt 的影子。總的來講,Qt主要用於桌面程序的開發和嵌入式開發。正則表達式
-
在 Windows 下,GUI 解決方案比較多,基於C++的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基於C#的有 WinForm、WPF,基於Java的有AWT、Swing,基於Pascal的有Delphi,還有國內初露頭角的 aardio;若是你有Web開發經驗,也能夠基於Webkit或Chromium將網頁轉換爲桌面程序。數據庫
Qt學習的注意事項:
- Qt是一個標準的出c++應用程序框架,那麼首先要對c++的概念以及語法有所瞭解,並學習相關知識。Qt能夠很好的封裝c++,c程序,作出精美的界面和軟件。
- QT分爲4.0版本和5.0版本他們之間的差異很大,不通用!
- Qt能夠跨平臺運行,一次編寫能夠跨平臺編譯,開發跨平臺應用時也要多學習一些系統知識。
- Qt做爲諾基亞開發的一款軟件比微軟的mfc開發軟件簡單易學,尤爲是其首創的信號和槽機制,比微軟的消息機制更簡單方便,容易被理解。所以,必定要對信號和槽機制很好的理解並掌握。這是Qt開發的核心機制。