《一步一步學習 GTK+》完整章節目錄與學習指南
GTK+(GIMP Toolkit)是跨平台 GUI 庫,廣泛用於 Linux 桌面開發(GNOME 基石)。本系列教程共 36 節,從零基礎入門到進階繪圖、事件處理、Glade 可視化設計,適合 C 語言開發者系統掌握桌面應用開發。
階段一:背上行囊(00-05)
- 00 程序員學習之道 —— 心法與方法論
- 01 為什麼學 GTK+ —— 跨平台、C 語言原生、生態成熟
- 02 GUI 概述 —— 事件驅動、控件樹、信號槽機制
- 03 GTK 簡介 —— 歷史、架構、版本演進(GTK 2/3/4)
- 04 Linux 環境搭建 —— pkg-config、開發包安裝、IDE 配置
- 05 Windows 環境搭建 —— MSYS2/MinGW、依賴庫部署、打包發布
階段二:踏上旅途(06-14)核心編程實戰
- 06 空白窗口 ——
gtk_window_new、gtk_widget_show_all、主循環
- 07 控件添加 —— 容器
gtk_container_add、標籤/按鈕創建
- 08 水平盒子佈局 ——
GtkHBox、pack_start、擴展/填充/間距
- 09 垂直盒子佈局 ——
GtkVBox、嵌套佈局技巧
- 10 表格佈局 ——
GtkTable、行列跨越、對齊控制
- 11 固定佈局 ——
GtkFixed、絕對座標(不推薦響應式)
- 12 計算器佈局練習 —— 綜合運用盒子/表格實現計算器界面
- 13 信號與回調 ——
g_signal_connect、回調函數簽名、用戶數據傳遞
- 14 簡易計算器邏輯 —— 表達式解析、狀態機、錯誤處理
階段三:初步體驗 Glade 可視化開發(15-18)
- 15 Glade 介紹 —— UI 設計器、.glade/.ui 文件、與代碼分離
- 16 Glade 環境搭建 —— 安裝、項目創建、控件調色板
- 17 Glade 使用實戰 —— 佈局容器拖拽、屬性編輯、信號綁定
- 18 Libglade vs GtkBuilder —— 運行時加載 UI 文件的兩種方式對比與選型
階段四:蓦然回首 常用控件深度剖析(19-25)
- 19 窗口 —— 模態/非模態、標題欄、圖標、響應式尺寸
- 20 標籤 —— 文本屬性、Pango 標記、換行/對齊/選中
- 21 圖片控件 ——
GtkImage、Pixbuf 加載、動畫、圖標主題
- 22 進度條 —— 確定/不確定模式、脈衝動畫、文本顯示
- 23 按鈕 —— 文本/圖片/混合按鈕、狀態樣式、鍵盤導航
- 24 行編輯 ——
GtkEntry、輸入驗證、補全、密碼模式
- 25 筆記本控件 ——
GtkNotebook、標籤頁管理、動態增減
階段五:進階體驗 核心機制與繪圖(26-36)
- 26 窗口背景圖 —— CSS 樣式、
GtkDrawingArea 繪製背景
- 27 控件字體大小 —— Pango 字體描述、動態縮放
- 28 定時器 ——
g_timeout_add、周期性任務、主循環整合
- 29 鼠標事件 —— 按下/釋放/移動/進入/離開、座標轉換
- 30 鍵盤事件 —— 按鍵掃描碼/符號、修飾鍵、快捷鍵處理
- 31 屬性改變事件 ——
notify::property、綁定同步
- 32 事件盒子 ——
GtkEventBox、為無窗口控件添加事件
- 33 繪圖 —— Cairo 上下文、路徑/填充/描邊、變換矩陣
- 34 截圖 ——
gdk_pixbuf_get_from_window、保存圖片
- 35 幫助文檔使用 —— Devhelp、API 參考、信號/屬性查詢技巧
- 36 Widget 內部結構與工作流程 —— 尺寸請求/分配、繪製管線、樣式上下文、合成器
學習建議
- 動手敲代碼:每節必敲,體會編譯鏈接、運行調試全過程。
- 對照文檔:配合
devhelp 或 官方文檔 查閱 API 細節。
- 遷移到 GTK 4:本系列基於 GTK 3,核心概念通用;GTK 4 引入渲染器、列表模型等新特性,建議入門後對比學習。
- 項目驅動:嘗試寫一個記事本、系統監視器、圖片查看器等完整小專案。