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