GNOME/GTK+ 编程圣经

作者:Ben Crowder
GNOME/GTK+ Programming Bible
  • 作者:Arthur Griffith

  • 出版社:IDG Books Worldwide

  • 网址: http://www.idg.com/

  • 价格:39.99 美元

  • ISBN:0-7645-4640-6

  • 评论员:Ben Crowder

这一切都始于 GIMP。几年前,著名的图像处理程序 GIMP 的开发者意识到 Motif(X Windows 的工具包)并不像他们想象的那么好,但是当时没有太多其他选择。因此他们编写了自己的控件集 GTK+。然后,后来出现了 GNOME,它封装了 GTK+ 并提供了更高级别的控件(如日历和计算器)。有时这一切可能会变得相当混乱,这就是 The GNOME/GTK+ Programming Bible 的用武之地。

本书是对 GTK+ 和 GNOME 编程的扎实介绍和参考。书中穿插了大量的代码(大约三分之一的书籍由示例和示例代码组成,所有代码都在随附的 CD-ROM 中),并包括对大多数示例的逐行解释。

第一章介绍了 GTK+ 和 GNOME,解释了 GTK+ 虽然是用 C 语言编写的,但它是面向对象的,并概述了信号和回调是什么。第二章是一个关于非常基本的 GTK+ 程序的教程,一个带有按钮的窗口。它还介绍了如何创建一个基本的 GNOME 窗口。在第三章中,您将学习 GTK+ 和 GNOME 弹出窗口和对话框的工作原理。GTK+ 的控件打包方法,不得不承认,与其他大多数窗口系统不同,第四章专门介绍了这一点,解释了打包盒和表格。几乎无限的灵活性来自于在其他控件内部打包控件的能力(即,表格内部的盒子内部的笔记本内部的滚动窗口内部的表格,以此类推,无限循环)。第五章解释了这是如何工作的,向您展示了无尽的打包乐趣之路。将 GTK+ 粘合在一起的粘合剂——事件、信号和回调——在第六章中进行了描述。GUI 的一个主要点是在屏幕上具有图形表示,<\#225> 图标和其他图片。第七章解释了 XBM 和 XPM 格式以及如何在程序中使用它们。最后,第八章介绍了菜单和工具栏——库存菜单、禁用/启用菜单项以及工具栏和菜单中的单选/切换按钮。

第二部分包含关于各种 GTK+/GNOME 主题的逐步说明。第 9 章介绍了 GnomeCanvas 控件,第 10 章介绍了 GTKDrawingArea 控件,第 11 章解释了如何使用图形上下文。输入设备在任何类型的界面中都很重要,因此第 12 章完全致力于鼠标和键盘。第 13 章提供了一些关于使用字体的基本指导,第 14 章分享了一些使用控件的技巧。GNOME 小程序在第十五章中介绍,拖放操作在第十六章中介绍。MDI(多文档界面,用于一次打开多个文档)在第 17 章中解释。有时,您会意识到您需要的控件不存在。可能有一些类似的,但它并不能完全满足您的需求。第 18 章向您展示了如何从头开始或基于另一个控件创建自己的控件。第 19 章探讨了配置(操作在您的 ~/.gnome 目录中找到的配置文件)和国际化。

本书的第三部分主要是一个参考;而且是非常有用的一个。我建议为了第三部分和附录而购买这本书。对于那些宁愿自己编译而不是下载预打包版本的人来说,第 20 章解释了如何安装和构建 GNOME 源代码。第 21 章是 GTK+ 控件的列表,从 GtkAccelLabel 到 GtkWindow,其中包含每个控件的信息(例如继承、函数列表和示例代码)。第 22 章对 GNOME 控件执行相同的操作。虽然 GNOME 是多平台的,但它主要在 Linux 下使用;因此,第 23 章涵盖了一些特定于 Linux 的问题。最后,对于那些从 Windows 迁移过来的程序员,第 24 章提供了 Win32 和 GNOME 编程如何不同的比较、逐点研究。

附录也非常有用,并且它们是参考部分中大部分实质内容所在的位置。第一个附录只是描述了 CD-ROM 的内容,而第二个附录解释了如何设置您的机器以使用 GNOME 进行软件开发。第三个附录列出了 GTK+ 和 GNOME 中每个控件的继承关系,第五个附录解释了如何设置和获取参数,第四个附录介绍了 GTK+ 和 GNOME 中使用的枚举类型(例如 GTK_ACCEL_SIGNAL_VISIBLE)。第六个附录列出了所有信号,最后一个附录提供了一个有用的函数列表,按返回类型排序。

这本书值得花钱吗?如果您对使用 GTK+ 和/或 GNOME 编程感兴趣,那么答案是响亮的“是”。即使您不感兴趣,它也是一本外观很酷的 Linux 书籍,可以放在您的桌子上让您看起来更聪明。

GNOME/GTK+ Programming Bible
Ben Crowder 在过去的十年中一直深度参与计算机的几乎每个方面(编程、图形、网络、音乐以及几乎所有您能想到的东西)。他在过去的两年半中一直使用 Linux,并且热爱每一秒。在他的业余时间,他喜欢阅读、写作、音乐和调整他的 Linux 机器上的东西。他目前居住在犹他州,可以通过 crowder@netbrick.com 联系到他。
加载 Disqus 评论