GTK 和 QT 應用程式有什麼區別?

GTK 和 QT 應用程式有什麼區別?

許多軟體包都有 GTK 和 QT 版本。

  • 他們之間有什麼區別?
  • 性能或工作方法有什麼區別嗎?

答案1

一般來說,從使用者角度來看,差異應該純粹是表面上的。 Qt 和 GTK 獨立設定主題(例如透過qtconfiggtk-chtheme),但這在某些桌面環境中是協調一致的。

GNU/Linux 往往比 Qt 更面向 GTK,因為前者更常用,所以當您有選擇時可能會更喜歡它; KDE 是一個例外,它在自己的應用程式中使用 Qt——儘管這些因素都不是非常重要。

更重要的問題是在 RAM 非常有限的情況下(例如 < 1/4 GB);在這種情況下,您可能希望系統專門使用 GTK或者Qt,但不是兩者。然而,在大多數具有千兆位元組記憶體的現代桌上型電腦上,這並不是一個問題——廣泛使用兩者可能會花費您額外的(大膽猜測)50-100 MB。


請注意,GTK(2 和 3)和 Qt(3 和 4)的不同版本仍然廣泛使用,但不向後相容(因此 Qt 3 應用程式無法使用 Qt 4 庫)。然而,兩個版本可能同時存在於一個系統上,最嚴重的後果是可能出現混亂和記憶體膨脹。

答案2

不,此類程序的內部結構沒有區別。 GTK 和 Qt 是使用者介面工具包和框架。它們是開發人員用來設計圖形介面的函式庫。

當編寫圖形(GUI)程式時,首先開發其核心內部結構。這就是程式運行的原因。你從來沒有核心,它們只是在後台執行。在此核心之上,設計了使用者介面(UI)。

現在,開發人員可以從頭開始設計完整的介面,或重複使用其他人的設計。重用設計有一個很大的優勢。它允許計算機中的所有程式看起來相似。因此,他們使用 GUI 工具包。 GTK 和 Qt 是兩個極為常見的 GUI 工具包。

GTK 是 GNOME 的標準工具包,而 Qt 是 KDE 使用的。從使用者的角度來看,只是外觀有所不同。該計劃本質上保持不變。

答案3

另一個需要考慮的重要方面是 Qt 許可連結到他們的許可證披露它被明確地設定為大多數非營利項目免費提供,但商業關係是可能的,並且可能對此情況有限制。而 GTK,明確聲明即使在所有權應用GTK聲明:

Are there any licensing restrictions?
GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. 

複雜 GUI 開發的一個關鍵方面將依賴 GLADE 作為設計套件,以及它是否適合您的方法林間空地鏈接。它的目標是跨平台,但可能不像 Qt 那樣得到廣泛的跨平台支援。

答案4

它們如何比較各自的物件模型,以及它們遵循 C++ 標準的程度如何——根據我有限的經驗,QT 的程式碼產生器似乎有點老套,並用它們自己的功能等效的類別重新發明了輪子。和類。簡而言之,QT 似乎有更多的口哨聲和鈴聲,我相信很多人都覺得很有用,但它似乎也有一種沉重、專有的感覺。正如我所說,我對它的經驗有限(對於 Gtk 的經驗更少)。我想要一些關於它們今天如何比較的意見——從開發人員的角度來看,他們傾向於嘗試使用 C++ 標準(如 STL、C++ 字串、執行緒等)的通用方法

相關內容