目錄迴到頂部↑
目 錄
前言
第一部分 linux gui編程框架及編程基礎
第1章 linux軟件開發概述 1
1.1 關於linux 1
1.2 關於linux的桌麵環境 2
1.3 linux係統中的軟件開發 3
1.3.1 開發所使用的庫 3
1.3.2 gnome的開發結構 4
1.4 開發linux應用程序的編程語言
和編程工具 6
1.5 本書的結構 7
第2章 gtk+/gnome開發簡介 8
2.1 安裝gtk+/gnome庫 8
2.2 第一個gtk+應用程序 9
2.2.1 一個什麼也不能做的窗口 9
2.2.2 示例代碼的含義 9
2.2.3 gtk的hello world 10
2.2.4 gtk+的信號和迴調函數原理 12
2.2.5 hello world代碼解釋 14
.2.2.6 運行helloworld 17
2.3 gnome應用程序 17
2.4 gnu c 編譯器 18
2.4.1 使用 gcc 18
2.4.2 gcc 選項 18
2.5 初始化庫 19
2.6 用popt分析參數 20
2.6.1 參數分析方法 20
2.6.2 gnomehello程序的參數分析 22
2.7 國際化 25
2.8 保存配置信息 27
2.8.1 讀齣存儲的配置數據 28
2.8.2 在配置文件中存儲數據 30
2.8.3 配置文件迭代器 30
2.8.4 節迭代器 33
2.8.5 其他的配置文件操作 33
2.9 會話管理 34
2.10 gtk+的主循環 36
2.10.1 主循環基本知識 36
2.10.2 退齣函數 36
2.10.3 timeout函數 37
2.10.4 idle函數 37
2.10.5 輸入函數 38
2.11 編譯應用程序 39
2.11.1 生成源代碼樹 39
2.11.2 configure.in文件 41
2.11.3 makefile.am文件 43
2.11.4 安裝支持文件 44
第二部分 linux 編程常用c 語言
函數庫及構件庫
第3章 glib庫簡介 49
3.1 類型定義 49
3.2 glib的宏 49
3.2.1 常用宏 49
3.2.2 調試宏 50
3.3 內存管理 52
3.4 字符串處理 53
3.5 數據結構 55
3.5.1 鏈錶 55
3.5.2 樹 59
3.5.3 哈希錶 63
3.6 gstring 65
3.7 計時器函數 66
3.8 錯誤處理函數 67
3.9 其他實用函數 67
第4章 構件定位 69
4.1 構件的顯現、映射和顯示 69
4.2 其他的構件概念 70
4.3 構件的類型轉換 72
4.4 組裝構件 72
4.4.1 尺寸分配 73
4.4.2 gtkwindow構件 74
4.4.3 gtkbox 76
4.4.4 錶格構件gtktable 79
4.4.5 固定容器構件gtkfixed 83
4.4.6 布局容器構件gtklayout 85
第5章 按鈕構件 87
5.1 普通按鈕gtkbutton 87
5.2 開關按鈕gtktogglebutton 90
5.3 檢查按鈕gtkcheckbutton 91
5.4 無綫按鈕gtkradiobutton 91
第6章 調整對象 95
6.1 創建一個調整對象 95
6.2 使用調整對象 95
6.3 調整對象內部機製 96
第7章 文本構件gtktext 98
7.1 創建、配置文本構件 98
7.2 操作文本 99
7.3 鍵盤快捷鍵 100
7.4 gtktext示例 100
第8章 範圍構件gtkrange 105
8.1 滾動條構件gtkscrollbar 105
8.2 比例構件gtkscale 105
8.2.1 函數和信號 105
8.2.2 常用的範圍函數 106
8.2.3 鍵盤和鼠標綁定 107
8.2.4 示例 107
第9章 雜項構件 114
9.1 標簽構件gtklabel 114
9.2 箭頭構件gtkarrow 117
9.3 工具提示對象gtktooltips 119
9.4 進度條構件gtkprogressbar 120
9.5 對話框構件 126
9.6 pixmap 127
9.7 標尺構件gtkruler 134
9.8 文本輸入構件gtkentry 137
9.9 微調按鈕構件gtkspinbutton 140
9.10 組閤框gtkcombo 146
9.11 日曆構件gtkcalendar 148
9.12 顔色選擇構件gtkcolorselect 158
9.13 文件選擇構件gtkfileselect 162
第10章 容器構件gtkcontainer 165
10.1 事件盒構件gtkeventbox 165
10.2 對齊構件gtkalignment 166
10.3 框架構件gtkframe 167
10.4 比例框架構件gtkaspectframe 169
10.5 分欄窗口構件gtkpanedwindow 170
10.6 視角構件gtkviewport 174
10.7 滾動窗口構件gtkscrolled
window 175
10.8 按鈕盒構件gtkbuttonbox 177
10.9 工具條構件gtktoolbar 181
10.10 筆記本構件gtknotebook 187
第11章 分欄列錶構件gtkclist 193
11.1 創建分欄列錶構件gtkclist 193
11.2 操作模式 193
11.3 操作分欄列錶構件列標題 194
11.4 操縱列錶 194
11.5 嚮列錶中添加行 196
11.6 在單元格中設置文本和pixmap
圖片 197
11.7 存儲數據指針 198
11.8 處理選擇 198
11.9 信號 199
11.10 gtkclist示例 199
第12章 樹構件 204
12.1 創建新樹構件 204
12.1.1 添加一個子樹 204
12.1.2 處理選中的列錶 205
12.1.3 樹構件內部機製 205
12.1.4 信號 206
12.1.5 函數和宏 206
12.2 樹項構件gtktreeitem 208
12.2.1 信號 209
12.2.2 函數和宏 210
12.3 樹構件示例 210
第13章 gnomeapp構件和gnomeuiinfo 215
13.1 主窗口gnomeapp 215
13.2 gnomeuiinfo 216
13.2.1 創建gnomeuiinfo 216
13.2.2 將gnomeuiinfo轉換為構件 218
第14章 狀態條構件 221
14.1 狀態條構件簡介 221
14.2 gnomeappbar構件 221
14.3 狀態條構件gtkstatusbar 222
第15章 對話框 225
15.1 gnomedialog構件 225
15.1.1 創建對話框 225
15.1.2 填充對話框 226
15.1.3 處理gnomedialog的信號 226
15.1.4 最後的修飾 227
15.2 模態對話框 229
15.3 一個對話框示例 230
15.4 特殊對話框 231
15.4.1 gnomeabout 231
15.4.2 gnomepropertybox—屬性框 233
15.4.3 gnomemessagebox—消息框 234
第16章 gdk 基礎 236
16.1 gdk和xlib 236
16.2 gdkwindow 237
16.2.1 gdkwindow和gtkwidget 237
16.2.2 gdkwindow屬性 238
16.3 視件和顔色錶 240
16.3.1 gdkvisual 240
16.3.2 視件的類型 241
16.3.3 顔色和gdkcolormap 242
16.3.4 獲得顔色錶 244
16.4 可繪區和pixmap 244
16.5 事件 245
16.5.1 事件類型 245
16.5.2 事件屏蔽 247
16.5.3 在gtk+中接收gdk事件 248
16.5.4 鼠標按鍵事件 250
16.5.5 鍵盤事件 252
16.5.6 鼠標移動事件 254
16.5.7 焦點變更事件 257
16.6 鼠標指針 257
16.6.1 指針定位 257
16.6.2 獨占指針 258
16.6.3 改變光標 259
16.7 字體 259
16.8 圖形上下文 263
16.9 繪圖 267
16.9.1 畫點 267
16.9.2 畫綫 268
16.9.3 矩形 268
16.9.4 畫弧 269
16.9.5 多邊形 269
16.9.6 文本 270
16.9.7 pixmap像素映射圖形 270
16.9.8 rgb緩衝 271
第三部分 linux gui 生成器glade
第17章 glade:gui生成器 273
17.1 安裝glade 273
17.1.1 glade簡介 273
17.1.2 安裝glade 273
17.1.3 在gnome主菜單下為glade
創建菜單項 274
17.1.4 在gnome麵闆上創建快捷
按鈕 275
17.2 用glade生成圖形用戶接口 275
17.2.1 glade的界麵簡介 275
17.2.2 用glade創建應用程序界麵 277
第四部分 調試工具
第18章 程序調試 283
18.1 用gdb調試應用程序 283
18.1.1 為調試程序做準備 283
18.1.2 獲得gdb幫助 284
18.1.3 gdb常用命令 284
18.1.4 gdb 應用舉例 286
18.2 用xxgdb調試應用程序 289
第五部分 附 錄
附錄a gnomehello源代碼 293
附錄b 在綫資源 304
附錄c gtk+/gnome對象總覽 306
· · · · · · (
收起)