红联Linux门户
Linux帮助

Linux C编程-GTK+ 2.0 中文教程/使用GTK+ GNOME库(080809更新)

发布时间:2008-07-24 14:26:52来源:红联作者:lyq617617
GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以你可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何钱来购买许可证和使用权。
GTK 被称为 GIMP 工具包是因为最初写它是用来开发 GIMP (GNU 图像处理程序) 的,但是它现在已经被用于很多软件项目了,包括 GNOME (GNU 网络对象模型环境)。GTK 是在 GDK (GIMP Drawing Kit) 和 gdk-pixbuf 的基础上建立起来的,GDK 基本上是对访问窗口的底层函数 (在 X 窗口系统中是 Xlib) 的一层封装,gdk-pixbuf 是一个用于客户端图像处理的库。

最近在学,所以发上来大家一起分享!

今日更新书籍:LINUX应用程序开发指南:使用GTK+ GNOME库(001-021),一共由21小本pdf格式组成.
本书介绍了Linux下图形用户接口(GUI)编程技术。全书共18章,分五个部分。第一部分介绍Linux GUI编程架构以及编程基础知识,第二部分介绍Linux 编程常用C语言函数库glibc、构件库Gtk+、Gnome,第三部分介绍Linux下的GUI生成器Glade,第四部分介绍Linux编程调试工具gdb及xxgdb。第五部分包括三个附录,附录A是书中使用的示例GnomeHello的源代码,附录B介绍了一些与Gtk+/Gnome编程相关的在线资源,附录C是Gtk+/Gnome对象的简要介绍。本书中的Gtk+构件示例都来自于GTK 1.2.3软件包的示例。如果下载并安装了GTK 1.2.3软件包,则能够在展开的源代码目录下找到这些示例代码。本书适用于有Linux使用经验及C语言编程基础的读者阅读。
于20080809更新
文章评论

共有 288 条评论

  1. cstyle 于 2008-10-14 17:06:39发表:

    :0)1 好?西哦

  2. duxue 于 2008-10-12 21:52:16发表:

    辛苦,谢谢,哈哈

  3. cloud4986 于 2008-10-12 14:51:36发表:

    谢谢楼主

  4. ccrecall 于 2008-10-09 13:15:43发表:

    感谢楼主!谢谢~~~~~~~~~~~~~~~~~

  5. konar 于 2008-10-08 10:55:24发表:

    how to download ?

  6. roland_1221 于 2008-10-07 23:42:34发表:

    很好的帖子,感谢楼主共享

  7. weifan135157 于 2008-10-06 13:14:40发表:

    飘过

  8. aileqiang 于 2008-09-26 17:24:32发表:

    :0w223dc

  9. maniac0213 于 2008-09-26 15:29:43发表:

    thx

  10. 20080808 于 2008-09-24 14:12:08发表:

    d

  11. fanfan2003com 于 2008-09-20 10:27:36发表:

    越来越喜欢linux

  12. xinaidexun 于 2008-09-20 07:07:25发表:

    下载学习

  13. mt_rtos 于 2008-09-19 23:07:55发表:

    tks

  14. aiwawen 于 2008-09-16 22:01:53发表:

    非常感谢啊
    找到了这么多的资料,谢谢啊
    辛苦了

  15. tongfang 于 2008-09-16 16:11:16发表:

    很是喜欢很是喜欢很是喜欢

  16. caoliangjing 于 2008-09-16 14:43:47发表:

    我怎么看不到啊:0w223dc

  17. freecomli 于 2008-09-16 14:20:03发表:

    不错, 是好东西呀, 谢谢

  18. mckof 于 2008-09-15 11:41:35发表:

    有空再下,现在谢过了!

  19. Ying05173210 于 2008-09-15 09:40:51发表:

    这些东西我装系统的时候它就自己下载了
    楼主很私!

  20. xiaomage1020 于 2008-09-12 14:26:27发表:

    收了!(6)m:b

  21. gxylcqx 于 2008-09-11 07:06:25发表:

    顶了,好东西啊

  22. oneju 于 2008-09-10 20:03:45发表:

    我要下载

  23. iori1117 于 2008-09-07 01:08:33发表:

    很出色,我是做GTK的

  24. canicula 于 2008-09-04 10:04:20发表:

    首先赞一下楼主 然后发点牢骚 linux本来就是以开源著称的 可不发帖子就不能下载 这是不是违背了GNU的精神

  25. shengqi542 于 2008-09-04 00:44:11发表:

    kanxia

  26. zyh_rj05506 于 2008-08-18 11:34:53发表:

    3q 啊

  27. maishangkun 于 2008-08-18 09:13:13发表:

    I want to have a look

  28. lihf8515 于 2008-08-17 22:28:53发表:

    太好了。现在终于找到了。不知道可管用

  29. lg5850 于 2008-08-14 10:29:51发表:

    see see

  30. huohu3000 于 2008-08-12 08:50:26发表:

    多余的就不多说了!太谢谢了!

  31. shell2010 于 2008-08-10 15:14:01发表:

    thank you very much

  32. zeroburn 于 2008-08-10 14:58:12发表:

    我为什么下载不了啊

  33. ryenlan 于 2008-08-10 09:17:23发表:

    I like it!~!

  34. lyq617617 于 2008-08-09 23:57:00发表:

    今日更新书籍的LINUX应用程序开发指南:使用GTK+ GNOME库目录(太多了,放在这里比较合适,下载请去1楼):
    目 录
    前言
    第一部分 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

  35. dicy 于 2008-08-08 18:38:38发表:

    THANKS

  36. bower820 于 2008-08-07 19:57:18发表:

    :0w5ty(1

  37. admyygy 于 2008-08-02 21:54:39发表:

    下来看看,谢谢

  38. yeppi 于 2008-08-02 16:40:00发表:

    支持LZ,哈哈谢谢分享!!

  39. yangyd 于 2008-08-01 14:35:42发表:

    感谢lz

  40. yangyd 于 2008-08-01 14:34:41发表:

    看看