GTK+
维基百科,自由的百科全书
GTK+ |
|
---|---|
开发者 | GNOME Foundation |
最新版 | 3.2.2 / 2007年5月28日 |
操作系统 | 跨平台 |
类型 | Widget toolkit |
许可协议 | GNU Lesser General Public License |
网站 | http://www.gtk.org/ |
GTK+最初是GIMP的专用开发库,后来发展为Unix-like系統下开发图形界面的应用程序的主流开发工具之一。GTK+是自由软件,并且是GNU计划的一部分。GTK+的许可协议是LGPL。
目录 |
[编辑] 编程语言
GTK+使用C语言开发,但是其设计者使用面向对象技术。 也提供了 C++(gtkmm)、Perl、Ruby、Java 和 Python(PyGTK)绑定,其他的绑定有 Ada、D、Haskell、PHP 和所有的 .NET 编程语言。
与其他很多部件工具箱不同,GTK+ 并不基于Xt。这一决策优劣互见:优点是 GTK+ 可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为 X11 定制的X资源数据库。
Glade 是一个界面设计工具,但是它也包含了一种描述 GUI 界面的 XML 语言,它和 libglade 一起工作就可以直接使用 GTK 和 GNOME 控件;Glade 不再直接支持生成编程语言源代码。
[编辑] 外观和感觉
提供不同的显示引擎使得最终用户可以定制外观和感觉。目前已经有一些可以模仿其他流行的平台或者工具箱(例如Windows 95、Motif、Qt或者NEXTSTEP)的引擎。
[编辑] 使用GTK的環境
- GNOME 是以GTK+為基礎,就是說為 GNOME 編寫的程式使用 GTK+ 做為其工具箱。
- Xfce 也基於GTK+, 但是它的應用程式並不對很多其他程式有依賴. (這就是 "GNOME程式" 和 "GTK+程式"的不同。)
- GPE Palmtop環境和 Nokia 的互聯網平板電腦的框架 Maemo 基於GTK+。
這只是一部分,另外 GTK+ 也可以運行在 KDE 的環境下。而且 GTK+ 也可以在 Microsoft Windows 運行,另外還有 DirectFB 和ncurses。
[编辑] 图形无关代码
最初GTK+包括一些和图形无关的常规功能,如链表和二叉树等数据结构。这些基本功能和对象系统GObject已经合并到独立的库Glib,它被程序员专门用于开发不需要图形界面的代码。
[编辑] GTK+ 2
2002年3月11日,GTK+2.0 版正式发布。GTK+ 2 是 GTK+ 后继版本,其新特性包括使用 Pango 改进的文本渲染、新主题引擎、使用 ATK 改进的可达性、完全转换到使用 UTF-8 的 Unicode 和更灵活的 API。但是它和 GTK+ 1 不完全兼容,因此必须由程序员做移植工作。由于 GTK+ 1 更快、相对更简单或更加适合嵌入式应用,所以还被继续使用。
从 GTK+ 2的 2.8 版起,它依靠库Cairo完成渲染,而这引入了矢量图形的支持。
[编辑] 发展
Ridley项目正在尝试统一一系列和GTK+相关的库,包括libgnome、libgnomeui、libgnomeprint、libgnomeprintui、libglade、libgnomecanvas、libegg、libeel和gtkglext。
[编辑] 参见
- Gtk#,GTK+的.NET API。
- PyGTK,GTK+的Python API。
[编辑] 外部资料
- GTK官方主页(英文)
- GtkAda, an Ada API to GTK+
- gtkmm, a C++ API to GTK+
- Gtk2-Perl, a Perl API to GTK+ 2.x
- Gtk2Hs, a Haskell API to GTK+
- GTK+ Forum - an unofficial forum archiving all GTK mailing lists.
- Runtime for Windows and package for Dev-Cpp