Qt圖標
我是學物理的,因科研工作需要自己寫一些程序。在之前的學習和工作中,在編寫圖形用戶界面(Graphical User Interface,GUI)程序時,我主要用的是C++ Builder。最早,在做本科畢業(yè)設計時,需要寫一個數據處理的GUI程序。當時沒有接觸過GUI編程,最早考慮的是學習MFC。在買了一本大部頭的MFC圖書并且啃了幾頁后,發(fā)現自己學不進去MFC這種繁瑣的類庫[捂臉]。后來,又接觸到C++ Builder 6.0,這種快速開發(fā)(RAD)工具只需要簡單拖拽控件即可完成界面設計,特別適合我這種業(yè)余寫GUI程序的人[憨笑]。自此便陸陸續(xù)續(xù)基于C++ Builder開發(fā)了多款GUI程序。
經典的C++ Builder 6
Qt也是一個GUI開發(fā)庫,但是由于已經對C++ Builder比較熟悉且滿足需求,便一直沒有學習Qt。今年以來,自己對于人工智能算法有了些興趣,發(fā)現處理這類問題目前最為流行的Python+Qt的組合,因此便重新燃起了學習Qt的興趣??偨Y來說,用 Qt 來開發(fā)GUI程序有以下優(yōu)點:
1. 簡單易學:Qt 簡單拖拽和幾行代碼就可以開發(fā)出一個簡單的GUI程序。這個其實與C++ Builder是類似的。
2. 資料豐富:相比于C++ Builder,Qt的更新速度更快,用戶群體也更大。
3. 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的動畫,而 MFC、WTL、wxWidgets等可能比較麻煩。
4. 獨立安裝:Qt 程序最終會編譯為本地代碼,不需要其他庫的支撐。這是相比于其他GUI語言來講的,比如: Java 要安裝虛擬機,C# 要安裝 .NET Framework。
5. 跨平臺:Qt 支持的操作系統(tǒng)有很多,如果你的程序需要運行在多個平臺下,同時又希望降低開發(fā)成本,Qt 幾乎是最優(yōu)的選擇。在這個方面C++ Builder則要差不少。
6.多語言:Qt雖然是基于純C++開發(fā)的類庫,但是存在Python、Ruby等腳本語言的綁定, 也就是說可以使用腳本語言開發(fā)基于 Qt 的程序。比如前面提到的Python+Qt的組合,就是PyQt。
因此,從今天開始,作為理工科程序小白的我[捂臉],打算從零開始學習Qt,并將學習心得整理成系列文章,也算是對自己的一種激勵和鞭策。后期,在Qt的基礎上,進一步學習Python和PyQt。