gtk介绍及api手册下载

转自:http://www.lupaworld.com/bbs/viewthread.php?tid=32617  

 在Linux下开发GUI程序的首要问题是采用什么样的图形库。在 Linux的发展历史中曾经出
现过多种图形库,但是由于自由软件的特点(没有技术方面的承诺),使得无人继续对它们进行
维护,或者其他方面的原因,这些库都已慢慢地被人遗忘了。
       G t k +(GIMP To o l K i t,G I M P工具包)是一个用于创造图形用户接口的图形库。 G t k +是基于
L G P L授权的,因此可以用 G t k +开发开放源码软件、自由软件,甚至商业的、非自由的软件,
并且不需要为授权费或版权费花费一分钱。之所以被称为 G I M P工具包因为它最初用于开发
“通用图片处理程序” (General Image Manipulation Program,GIMP),但是 Gtk已在大量软件
项目,包括 G n o m e中得到了广泛应用。 G t k +是在Gdk(GIMP Drawing Kit,G I M P绘图包)的基础上创建的。Gdk是对低级窗口函数的包装 (对X window系统来说就是Xlib)。
   读者可能会看到,在本书中既有 GTK,又出现了 Gtk+。一般用GTK代表软件包和共享库,
用Gtk+代表GTK的图形构件集。
   GTK的主要作者是:
                              @x
   P e t e r M a t t i s p e t m cf.berkeley.edu
                                       @x
   S p e n c e r K i m b a l l s p e n c e rc f . b e r k e l e y . e d u
   J o s h M a c D o n a l d j m a@x c f . b e r k e l e y . e d u
                                   cd
   G t k +图形库使用一系列称为“构件”的对象来创建应用程序的图形用户接口。它提供了
窗口、标签、命令按钮、开关按钮、检查按钮、无线按钮、框架、列表框、组合框、树、列
表视图、笔记本、状态条等构件。可以用它们来构造非常丰富的用户界面。
   在用G t k +开发G n o m e的过程中,由于实际需要,在上面的构件基础上,又开发了一些新
构件。一般把这些构件称为 G n o m e构件(与 G t k +构件相对应)。这些构件都是 G t k +构件库的补
充,它们提供了许多 G t k +构件没有的功能。从本质上来说, G t k +构件和 G n o m e构件是完全类
似的东西。
   G T K本质上是面向对象的应用程序编程接口 ( A P I )。虽然完全是用 C写成的,但它仍然是
用类和回调函数 (指向函数的指针 )的方法实现的。

      只使用 G t k + 构件也可以开发出优秀的 L i n u x 应用程序,但是 G n o m e 构件,特别是
GnomeApp、GnomeUIInfo等,使开发界面一致的应用程序变得更加容易。 Gnome的一些新特
性,如popt参数分析,保存应用程序设置等也是 Gtk+构件所没有的。
      Gnome的应用程序开发结构核心是一套库 ,都是由通用的 ANSI C语言编写的,并且倾向于
使用在类 UNIX的系统上。其中涉及图形的库依赖于 XWindow系统。Gnome差不多对任何语言
都提供了 Gnome API接口,其中包括 A d a、S c h e m e、P y t h o n、 P e r l、 To m、E i ff e l、D y l a n以
及Objective C等。至少有三种不同的 C++封装。本书只介绍有关库的 C语言接口,不过,对使
用其他语言绑定的用户来说,它也很有用,因为从 C到其他语言之间的转换都是非常直接的。
本书包含 G n o m e库1 . 0版本 (包括兼容的 b u g补丁版,比如 1 . 0 . 9—所有 1 . 0 . x版本都是兼容
的)。
      Gnome的开发架构包含以下一些内容:
      1. 非Gnome 库
      Gnome并不是从头开始的,它充分继承了自由软件的传统—其中许多内容来自于 Gnome
项目开始之前的一些函数库。其中一些库 G n o m e应用程序开发架构的一部分,但是不属于
G n o m e库—我们称之为非 G n o m e库。可以在 G n o m e环境中使用这些库函数。主要有以下几
种:
      Glib    G l i b是G n o m e的基础,它是一个 C工具库,提供了创建和操作常用数据结构的实用
函数。它也涉及到了可移植性问题,例如 ,许多系统缺乏 s n p r i n t f ( )函数,但是 g l i b包含了一个,
称为g _ s n p r i n t f ( ),它能保证在所有平台上使用,并且比 s n p r i n t f ( )更安全 (它总是将目标字符
串以NULL结尾)。Gnome 1.0中使用glib的 1.2版本,可以和任何 1.2系列的glib一起工作(1.2.1、
1.2.2,等等)。
        Gtk+     Gtk+(GIMP Toolkit的缩写),是在Gnome应用程序中使用的 GUI工具包。Gtk+最初
是为了设计 GIMP而引入的(GNU 图片处理程序),但是现在已变成通用的库。Gtk+依赖于glib。
Gtk+包中包含了 Gdk,它是对底层的 X Window系统库Xlib的简化。由于 Gtk+使用了Gdk而不
是直接调用 Xlib,因此Gdk的移植版本允许 Gtk+运行在不同于X 但只有相对较少的修改的窗口
系统上。 G t k +和G i m p已经移植到了 Wi n 3 2平台( 3 2位的Wi n d o w s平台,包括 Windows 95/98、
Windows NT/2000)上。
    对Gnome应用程序来说, Gtk+具有以下的特性:
    1) 动态类型系统。
    2) 用C语言编写的对象系统,可实现继承、类型检验,以及信号 /回调函数的基础结构。
    3) 类型和对象系统不是特别针对 GUI的。
    4) GtkWidget对象使用对象系统 ,它定义了Gtk+的图形组件的使用接口。
    5) 大量的GtkWidget子类(构件)。
    G n o m e在基本G t k +构件集合的基础上添加了许多其他构件。 Gnome 1.0是在Gtk+ 1.2版本
的基础上完成的。

 

下载地址在原帖。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值