您的位置:首页 > 其它

转贴一个很好的GTK+学习笔记

2010-12-08 12:52 267 查看
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...

Ubuntu
下安裝
GTK

第一
個 GTK 程式

Windows
下第一個 GTK 程式

GTK
的物件導向架構

Signal 與 Callback

在 GTK
的元件上操作,會發出特定的 Signal ,將 Signal 連接至特定的 Callback 函式,以完成對某個動作的處理。

使
用 Signal 關閉視窗


訂 callback 函式


建 Signal 的發射與停止

事件處理

GDK
事件會傳播給 GtkWidget,引發一個與
事件

對應的事件 Signal,再透過 Callback 函式處理事件。

GDK
事件結構

GTK
事件處理函式


件遮罩(Event Mask)

基本版面配置

基本上就是透過水
平與垂直包裝盒,將元件置於其中以完成所需的版面配置。

GtkHBox
與 GtkVBox

GtkFrame
與 GtkButtonBox

GtkTable

其它

GTK
官方網站上,有許多的參考文件與範例,為入門時的必看資料。

GTK
參考文件

簡介
Glade

基本圖形元件

元件講是講不完的,這邊
主要在
簡介幾個
基本元件之作用。

按鈕

按鈕是視窗
程式中最基本的元件。

GtkButton
與 GtkToggleButton


像及文字按鈕

GtkCheckButton
與 GtkRadioButton

對話方塊

對話方塊用來與使
用者作簡單的訊息交換與溝通。

GtkMessageDialog

GtkAboutDialog

GtkColorButton

GtkColorSelectionDialog

GtkFontButton

GtkFontSelectionDialog

GtkFileChooserButton

GtkFileChooserDialog

使
用 GtkDialog 自訂對話方塊

文字欄位

文字欄位是使用者
輸入資訊的基本元件。

GtkEntry

GtkSpinButton

GtkTextView

選項
清單

這邊的選項清單元
件,遵守 MVC 設計,使用上較為複雜但應用彈性大。

GtkComboBox

GtkComboBox
與 GtkListStore

GtkComboBox
與 GtkTreeStore

GtkTreeView 與
GtkListStore

GtkTreeView 與
GtkTreeStrore

版面元件

除了上面介紹的三
種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。

GtkNotebook

GtkPaned

GtkScrolledWindow

GtkAlignment、
GtkFixed 與 GtkLayout

GtkFrame
與 GtkAspectFrame

進階元件
使用

來看看一些選單、列、等元件之使用與組合方式,以及繪圖、列印等功能。

選單元件

選單是視窗程式最
常見的功能了。

GtkHandleBox

GtkMenuBar、
GtkMenu 與 GtkMenuItem

GtkCheckMenuItem、
GtkRadioMenuItem 與
GtkTearoffMenuItem

GtkUIManager

列元件

進度列、工具列、
狀態列。

GtkProgressBar

GtkToolBar

GtkStatusBar

其它元件

簇繁不及備
載...Orz...

GtkStyle
與資源檔

GtkLabel

GtkScale

GtkEntryCompletion

GtkArrow

GtkRuler

GtkAssistant

GtkCalendar

GtkDrawingArea

GLib

GLib 是
GTK 所需的函式庫之一,不過它是個可獨立使用的函式庫。

基本型態、巨集、公用(Utility)函式

一些有的沒的常用
函式,先放在一起講......Orz

GLib
基本型態與巨集

GTimer

Timeout
與 Idle


境資訊

日誌
(Logging)

輸入輸出

來了解一些基本檔
案讀寫、目錄資訊的取得方式,以及輸入輸出 Channel 的使用。


本檔案讀寫

目錄資訊

GIOChannel
與 檔案處理

GIOChannel
與 Pipe

資料結構、記憶體配置

來看看
GLib 提供了哪些常用的資料結構處理及動態記憶體配置函式。

GString

GArray、GPtrArray、
GByteArray

GSList、
GList

GHashTable

GTree
與 GNode


憶體配置


行緒

GLib
提供了 GThread 作為多執行緒的支援。

GThread

GMutex

GCond

附錄

GTK+
2.0 Tutorial

GTK+
Reference Manual

GTK+
/ Gnome Application Development

GTK+
and Glade3 GUI Programming Tutorial

GTK+
2.0 Tree View Tutorial
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: