GTK+ 2.0 教學

最近在玩GTK,發現英文及簡體的資源還滿多的,最有名的一份文件GTK+ 2.0官方的教學文件,也有簡體的翻譯GTK+-2.0手册(cn)(註:這份文件2010/12/27查閱已無連結) ,但總覺得看繁體的還是比較習慣,所以我試著將簡體的轉成繁體,並且就所學盡量將術語轉成我們台灣這邊較能接受的術語,希望可以幫助自己及更多的人來玩。

※2022/04/24 GTK+ 2.0官方的教學文件連結也已經失效。

原本的簡體文手冊連結不見,看來大家以後要找手冊,就直接來這好了!

參考書籍:Foundations of GTK+ Development(英文版)

GTK+ 2.0 教學
譯者: huzheng,konghui,ferry,carton,yang_yi,ddd,tingle
版本號: V_0.1.0  2002年6月25日
繁體譯者:ㄚ琪
版本號: V_0.1.0  2008年2月18日
本文是有關通過 C 語言介面使用 GTK (the GIMP Toolkit) 的教學。


目錄
中文版說明
簡介
從這裡開始
用 GTK 來寫 Hello World
編譯 Hello World 程式
信號和回呼函式的原理
事件
Hello World 詳解
繼續
資料型態
深入探索信號處理函式
改進了的 Hello World
封裝元件 (譯注:Widget 特指Window System 中用來顯示的單位元件,如對話框、捲軸等),
封裝盒的原理
盒的細節
封裝範例程式
使用表格來封裝
表格封裝範例
元件概論
型態轉換
元件的組織
沒有視窗的元件
按鈕元件
一般按鈕 Normal Buttons
雙態按鈕 Toggle Buttons
複選按鈕 Check Buttons
單選按鈕 Radio Buttons
調整物件 Adjustments
創建一個調整物件
輕鬆使用調整物件
「調整物件」的內部機制
範圍元件 Range Widgets
捲軸元件 Scrollbar Widgets
比例元件 Scale Widgets
創建一個比例元件
函式和信號(至少講了函式)
常用的範圍函式
設置更新方式
獲得和設置調整物件
鍵盤和滑鼠系結
範例
雜項元件
標籤 Labels
箭頭 Arrows
工具提示物件 The Tooltips Object
進度指示器 Progress Bars
對話框 Dialogs
標尺 Rulers
狀態列 Statusbars
文字輸入 Text Entries
微調按鈕 Spin Buttons
複合方塊 Combo Box
日曆 Calendar
顏色選擇 Color Selection
檔案選擇 File Selections
容器元件 Container Widgets
事件盒 The EventBox
對齊元件 The Alignment widget
固定容器 Fixed Container
佈局容器 Layout Container
框架 Frames
比例框架 Aspect Frames
窗格視窗元件 Paned Window Widgets
視埠 Viewports
捲動視窗 Scrolled Windows
按鈕盒 Button Boxes
工具欄 Toolbar
筆記本 Notebooks
選單元件
手動創建選單
手工選單範例
使用ItemFactory
ItemFactory範例
未公開的元件
Accel標籤 Accel Label
選項選單 Option Menu
選單項目 Menu Items
複選選單項目 Check Menu Item
單選選單項目 Radio Menu Item
分隔選單項目 Separator Menu Item
可分離選單項目 Tearoff Menu Item
曲線圖 Curves
繪圖區域 Drawing Area
字型選擇對話框 Font Selection Dialog
訊息對話框 Message Dialog
Gamma 曲線圖
影像 Image
Plugs and Sockets
Tree View
Text View
設置元件的屬性
逾時、IO 和 Idle 函式
逾時 Timeouts
監控IO
Idle 函式
進階事件和信號處理
信號函式
連接和切斷信號處理函式
Blocking and Unblocking Signal Handlers
發出和停止信號
信號的發射和傳播
操作選擇區
概述
擷取選擇區
提供選擇區
拖曳
概述
屬性
函式
設置原始元件
原始元件上的信號
設置目的元件
目的元件上的信號
GLib
定義
雙向鏈結串列
單向鏈結串列
記憶體管理
計時器
字串處理
工具及除錯函式
GTK 的 rc 檔案
rc 檔案的功能
GTK rc 檔案的格式
rc 範例檔
寫出屬於您自己的元件
概述
元件的解析
創建一個組合元件
介紹
選擇一個父類別
表頭檔
_get_type() 函式
_class_init() 函式
_init() 函式
其餘的…
從草稿中產生元件
介紹
在螢幕上顯示元件
Dial 元件的起源
基礎
gtk_dial_realize()
大小協商
gtk_dial_expose()
事件處理
可能的增強
深入的學習
塗鴉板,一個簡單的繪圖程式
概述
事件處理
繪圖區元件和繪圖
新增XInput支援
允許擴充設備訊息
使用擴充設備信訊息
得到更多關於設備的訊息
進一步的講解
編寫 GTK 應用程式的技巧
投稿
鳴謝
教學的版權和許可聲明
GTK 信號
GtkObject
GtkWidget
GtkData
GtkContainer
GtkCalendar
GtkEditable
GtkNotebook
GtkList
GtkMenuShell
GtkToolbar
GtkButton
GtkItem
GtkWindow
GtkHandleBox
GtkToggleButton
GtkMenuItem
GtkCheckMenuItem
GtkInputDialog
GtkColorSelection
GtkStatusBar
GtkCurve
GtkAdjustment
GDK 事件型別
範例程式
Tictactoe
tictactoe.h
tictactoe.c
ttt_test.c
GtkDial
gtkdial.h
gtkdial.c
dial_test.c
Scribble
scribble-simple.c
scribble-xinput.c
術語表

單元首頁中文版說明 >>

中文版說明

相關C 語言(含 C++、C#)、資料庫、繪圖板及工作管理文章分享:
MySQL 註解語法
C跟C++的Apple XCode
深入淺出物件導向分析與設計
羅賽塔上海翻譯公司 – 第一家全外資的上海翻譯公司
【體驗】2021新品介紹-我最愛的職人專用AERY十方機專業繪圖板,台灣品牌,好品質,好價格
待辦清單表格範本下載
設定C和C++ Code::Blocks編譯器的初學者教學指南

C的教學目錄:

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

18 則留言


  1. 你好

    請問你熟系GTK嗎?
    我們這邊有一個專案需要找合作的夥伴
    若有興趣,希望可以跟我連繫

  2. 請問 QT跟GTK 那個比較容易入門(好像都很難)^^”

  3. Author

    嗯,當初我會選GTK是因為它是用C寫的,他是免費的,QT有些是要錢的,然後有聽說EPC嗎?它的介面也是GTK的,如果想上華碩的這個部門不會GTK的話,呵呵,會很好玩,我在PHP上也有玩PHP-GTK,後來也有看到人家用Python玩GTK並且有TinyERP的免費產品可以看到,所以我才進來摸一摸,沒錯確實有點難度,但是只要肯下功夫不怕學不會。

    1. 贊成
      GTK 粉好用
      我就是用GTK寫
      公司的進銷存與初階會計系統的

  4. 很多高人都在关注你哦,goodluck.从你这里也看了不少文档。不过感觉还是gtk的文档比较少。glade 的开发套件也不好用,貌似有些函数比较死板。用glade 写好的再用gtk来添加就出问题。最后还是删掉glade 从新手写界面,累啊。

  5. Hmm… I read blogs on a similar topic, but i never visited your blog. I added it to favorites and i’ll be your constant reader.

  6. I read a few topics. I respect your work and added blog to favorites.

  7. Valuable thoughts and advices. I read your topic with great interest.

  8. 各位大大,有興趣或有空再接一個Gtk的專案嗎?請幫忙,謝謝!





發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *