Qt和其它GUI庫的對比


http://c.biancheng.net/view/3876.html

 

世界上的 GUI 庫多如牛毛,有的跨平台,有的專屬於某個操作系統;有的只有 UI 功能,有的還融合了網絡通信、多媒體處理、數據庫訪問等底層功能。

Windows 下的 GUI 庫

Windows 下的 GUI 解決方案比較多:

  • 基於 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout;
  • 基於 C# 的有 WinForm、WPF;
  • 基於 Java 的有 AWT、Swing
  • 基於 Pascal 的 有Delphi;
  • 基於Go語言的有 walk 和 electron;
  • 還有國內初露頭角的 aardio;
  • Visual Basic 曾經很流行,現在逐漸失去了色彩;
  • 如果你有 Web 開發經驗,也可以基於 Webkit 或 Chromium 將網頁轉換為桌面程序。


沒有哪一種方案能夠獨霸 Windows,使用比較多的編程語言是 C++、C#、Java。

用 Qt 來開發 Windows 桌面程序有以下優點:

  • 簡單易學:Qt 封裝的很好,幾行代碼就可以開發出一個簡單的客戶端,不需要了解 Windows API。
  • 資料豐富:資料豐富能夠成倍降低學習成本,否則你只能去看源碼,關於 DirectUI、Htmlayout、aardio 的資料就很少。
  • 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的動畫,而 MFC、WTL、wxWidgets 比較麻煩。
  • 獨立安裝:Qt 程序最終會編譯為本地代碼,不需要其他庫的支撐,而 Java 要安裝虛擬機,C# 要安裝 .NET Framework。
  • 跨平台:如果你的程序需要運行在多個平台下,同時又希望降低開發成本,Qt 幾乎是必備的。

Qt 和 MFC

讀者經常將 MFC 和 Qt 進行對比,MFC 只能應用在 Windows 平台,而 Qt 是跨平台的,一次編寫,到處運行。

另外,Qt 已經封裝了底層細節,學習 Qt 將會非常簡單;而 MFC 只是給 Windows API 加了一層包裝,不了解 Windows API 也學不好 MFC,大家普遍反映 MFC 難學。

我們不能簡單地說 Qt 好還是 MFC 好,兩者都有用武之地;但是初學者學習 Qt 會比較簡單,不用應付那些煩人的 Windows API,很快就能開發出帶有漂亮界面的應用程序。

Linux 下的 GUI 庫

Linux 下常用的 GUI 庫有基於 C++ 的 Qt、GTK+、wxWidgets,以及基於 Java 的 AWT 和 Swing。其中最著名的就是 Qt 和 GTK+:KDE 桌面系統已經將 Qt 作為默認的 GUI 庫,Gnome 桌面系統也將 GTK+ 作為默認的 GUI 庫。

有興趣的讀者請猛擊《 Linux桌面系統》了解更多關於 KDE 和 Gnome 的內容。

相比 GTK+,Qt 的功能更加強大,更新也很快,比較受人們追捧。

Linux下各種GUI庫對比圖
圖1:Linux 下各種 GUI 庫對比圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM