GTK (Gimp ToolKit) 原 本來影像處理軟體 GIMP(GNU Image Manipulation Program ) 的開發工具箱,後來成為一個跨平台的圖形介面開發套件,GTK 基於 C 語言,但不限於使用 C 語言,您也可以使用 C++、Java、PHP、Perl、Python、Ruby 等語言來撰寫 GTK 程式(參考 Language Bindings ), 這邊的文件將記錄一些 GTK+ 的心得,所使用的環境為 Ubuntu 10.10。
-
入門
先來嘗試一下幾個簡單的 GTK 程式,並初步了解一些核心特性。
- Hello!World! Orz..
第一步,當然是先 克服 GTK 的安裝問題,然後來個簡單的 Hello!World! Orz...
- Signal 與 Callback
在 GTK 的元件上操作,會發出特定的 Signal ,將 Signal 連接至特定的 Callback 函式,以完成對某個動作的處理。
GDK 事件會傳播給 GtkWidget,引發一個與
事件
相 對應的事件 Signal,再透過 Callback 函式處理事件。
- 基本版面配置
基本上就是透過水 平與垂直包裝盒,將元件置於其中以完成所需的版面配置。
GTK 官方網站上,有許多的參考文件與範例,為入門時的必看資料。
-
基本圖形元件
元件講是講不完的,這邊 主要在 簡介幾個 基本元件之作用。
- 按鈕
按鈕是視窗 程式中最基本的元件。
對話方塊用來與使 用者作簡單的訊息交換與溝通。
- 文字欄位
文字欄位是使用者 輸入資訊的基本元件。
- 選項 清單
這邊的選項清單元 件,遵守 MVC 設計,使用上較為複雜但應用彈性大。
- 版面元件
除了上面介紹的三 種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。
-
進階元件
使用
來看看一些選單、列、等元件之使用與組合方式,以及繪圖、列印等功能。
- 選單元件
選單是視窗程式最 常見的功能了。
- 列元件
進度列、工具列、 狀態列。
- 其它元件
簇繁不及備 載...Orz...
-
GLib
GLib 是 GTK 所需的函式庫之一,不過它是個可獨立使用的函式庫。
- 基本型態、巨集、公用(Utility)函式
一些有的沒的常用 函式,先放在一起講......Orz
- 輸入輸出
來了解一些基本檔 案讀寫、目錄資訊的取得方式,以及輸入輸出 Channel 的使用。
- 資料結構、記憶體配置
來看看 GLib 提供了哪些常用的資料結構處理及動態記憶體配置函式。
- 執 行緒
GLib 提供了 GThread 作為多執行緒的支援。
-
附錄