跳轉至內容

X 視窗程式設計/GTK+

來自華夏公益教科書

GIMP 工具箱(縮寫為GTK+)是一個免費的開源小部件工具箱,用於建立圖形使用者介面,最初於 1998 年為 GIMP(一個光柵圖形編輯器)建立,由 Spencer Kimball、Peter Mattis 和 Josh MacDonald 編寫,他們都是伯克利大學實驗計算設施 (XCF) 的成員。GTK+ 在 LGPL 許可下授權。

與許多其他小部件工具箱不同,GTK+ 並非基於 Xt。這樣做的優點是它允許 GTK+ 在其他系統上可用,並且更靈活。GTK+ 允許終端使用者配置工具箱的外觀,甚至提供多種不同的顯示引擎。這些引擎可以模擬其他流行工具箱或平臺的外觀,例如 Windows 95、Motif、Qt 或 NextStep。缺點是它無法訪問 X 資源資料庫,而這是定製 X11 應用程式的傳統方法。

GTK+ 2 包括使用 Pango 改進的文字渲染,新的主題引擎,使用輔助工具包改進的輔助功能,使用 UTF-8 字串完全過渡到 Unicode 以及更靈活的 API。但是,GTK+ 2 缺乏與 GTK+ 1 的相容性,程式設計師必須將應用程式移植到它。從 2.8 版開始,GTK+ 依賴於 Cairo 庫來渲染向量圖形。

程式語言

[編輯 | 編輯原始碼]

GTK+ 使用 C 程式語言,儘管它的設計者使用面向物件的正規化。GNOME 平臺繫結提供了 C++ (gtkmm)、Perl、Ruby、Java 和 Python (PyGTK) 繫結;其他人也為許多其他程式語言編寫了繫結(包括 Ada、D、Haskell、Lua、Pascal、PHP、Pike 和所有 .NET 程式語言)。

使用 GTK+ 的環境

[編輯 | 編輯原始碼]
典型的系統上 GIMP 2.2 的螢幕截圖
  • GNOME 環境使用 GTK+ 作為基礎,這意味著為 GNOME 編寫的程式使用 GTK+ 作為其工具箱。
  • Xfce 也使用它作為其基礎,儘管它的應用程式通常不依賴於那麼多程式。(這是將某物標記為“GNOME 程式”和“GTK+ 程式”之間的區別。)
  • GPE Palmtop 環境、Maemo(諾基亞的網際網路平板框架)和 Access Linux Platform(一個新的與 Palm OS 相容的個人數字 PDA 平臺)也使用 GTK+ 作為基礎。

這些桌面環境不需要執行 GTK+ 程式。如果程式所需的庫已安裝,GTK+ 程式可以在其他基於 X11 的環境(例如 KDE 或 X11 加視窗管理器環境)上執行;這包括安裝了 X11.app 的 MacOS X。GTK+ 也可以在 Microsoft Windows 下執行。一些比較罕見的埠包括 DirectFB 和 ncurses。

華夏公益教科書