語言技術:GTK Gossip

語言技術:GTK Gossip

GTK (Gimp ToolKit)原本來影像處理軟體 GIMP(GNU Image Manipulation Program) 的開發工具箱,後來成為一個跨平台的圖形介面開發套件,GTK 基於 C 語言,但不限於使用 C 語言,您也可以使用 C++、Java、PHP、Perl、Python、Ruby 等語言來撰寫 GTK 程式(參考 Language Bindings), 這邊的文件將記錄一些 GTK+ 的心得,所使用的環境為 Ubuntu 8.04。

入門
        先來嘗試一下幾個簡單的 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 作為多執行緒的支援。


附錄