Qt和其它GUI庫的對比

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

 

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

Windows 下的 GUI 庫

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

  • 基於 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 桌面程序有如下優勢:golang

  • 簡單易學: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 庫對比圖
相關文章
相關標籤/搜索