一 Qt簡介
Qt 是一個跨平台的C++應用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系統等。也就是說,Qt 可以同時支持桌面應用程序開發、嵌入式開發和移動開發,覆蓋了現有的所有主流平台。你只需要編寫一次代碼,發布到不同平台前重新編譯即可。
Qt 不僅僅是一個GUI庫,它除了可以創建漂亮的界面,還有很多其他組件,例如,你不再需要研究STL,不再需要C++的<string>頭文件,不再需要去找解析XML、連接數據庫、Socket 的各種第三方庫,這些 Qt 都已經內置了。
Qt 是應用程序開發的一站式解決方案!Qt 雖然龐大,封裝較深,但它的速度並不慢,雖不及MFC,但比Java、C#要快。Qt 程序最終會編譯成本地代碼,而不是依托虛擬機。
二 Qt Creator 簡介
Qt Creator是一個跨平台的,完整的Qt集成開發環境(IDE),其中包括了高級C++代碼編輯器,項目和生成管理工具,集成的上下文相關的幫助系統,圖形化調試器,代碼管理和瀏覽工具等。
三 Qt Creator的下載和安裝
地址:http://download.qt.io/official_releases/qt/5.6/5.6.1-1/
下載后雙擊qt-opensource-windows-x86-mingw494-5.6.1-1.exe即可,安裝過程一直單擊下一步即可,建議初學者保持默認選擇。
提示:下載程序中的mingw492表明該版本Qt使用了MinGW作為編譯器。MinGW即Minimalist GUN For Windows,是GUN 開發工具移植到win32平台下的產物。
四 Qt下載后包括的幾部分
安裝后的 Qt 主要包含以下幾部分:
1) Qt Library:也就是 Qt 的庫,這是 Qt 的核心。
2) Qt Creator:基於 Qt 開發的一款輕量級 IDE,是 Qt 被 Nokia 收購后推出的,目前最新版是 3.5.1,非常好用。
雖然也可以用 VS 等其他IDE 來開發 Qt 程序,但我們依然推薦使用 Qt Creator,它是官方專門為 Qt 開發打造的一款 IDE。Qt Creator 是快平台的,更換平台后不需要重新學習 IDE 的使用。
3) Qt Designer:Qt 程序的 UI 設計器。借助 Qt Designer,即使不編寫代碼,拖拖拽拽也可以開發簡單的 GUI 程序,並且可以及時預覽程序界面(無需編譯)。
4) Qt Assistant:Qt 幫助工具,包含了 Qt 教程、示例、類參考手冊、模塊介紹等,是 Qt 的官方資料,類似 MSDN。學習 Qt,一定要會使用 Assistant 查找資料。
5) Qt Linguist:Qt 語言家,是 Qt 的國際化工具,借助它可以很方便的將界面上的文本翻譯成其他語言,從而讓程序支持多種語言,面向全球用戶。
五 Qt的用途
使用 Qt 開發的程序非常多。1997年,Qt 被用來開發 Linux 桌面環境 KDE,大獲成功,使 Qt 成為 Linux 環境下開發 C++ GUI 程序的事實標准。Linux 也是嵌入式的主力軍,廣泛應用於消費類電子、工業控制、軍工電子、電信/網絡/通訊、航空航天、汽車電子、醫療設備、儀器儀表等相關行業,這些地方都有 Qt 的影子。
提示:在 Windows 下,GUI 解決方案比較多,基於C++的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基於C#的有 WinForm、WPF,基於Java的有AWT、Swing,基於Pascal的有Delphi,還有國內初露頭角的 aardio;如果你有Web開發經驗,也可以基於Webkit或Chromium將網頁轉換為桌面程序。
六 Qt的優點
- 簡單易學:Qt 封裝的很好,幾行代碼就可以開發出一個簡單的客戶端,而 MFC 封裝簡陋,還需要了解 Windows API,普遍反映難學。
- 資料豐富:資料豐富能夠成倍降低學習成本,否則你只能去看源碼,關於 DirectUI、Htmlayout、aardio 的資料就很少。
- 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的動畫,而 MFC、WTL、wxWidgets 比較麻煩。
- 獨立安裝:Qt 程序最終會編譯為本地代碼,不需要其他庫的支撐,而 Java 要安裝虛擬機,C#要安裝 .NET Framework。
- 跨平台:如果你的程序需要運行在多個平台下,同時又希望降低開發成本,Qt 幾乎是必備的。
七 用Qt開發的程序
下面的程序都使用 Qt 開發(當然還有很多,這里只是部分):
WPS、YY語音、Skype、豆瓣電台、蝦米音樂、淘寶助理、千牛、暴雪的戰網客戶端、VirtualBox、Opera、咪咕音樂、Google地圖、Adobe Photoshop Album 等。
總起來說,Qt 主要用於桌面程序開發和嵌入式開發。