X 窗口编程/GTK+
GIMP 工具箱(缩写为GTK+)是一个免费的开源小部件工具箱,用于创建图形用户界面,最初于 1998 年为 GIMP(一个光栅图形编辑器)创建,由 Spencer Kimball、Peter Mattis 和 Josh MacDonald 编写,他们都是伯克利大学实验计算设施 (XCF) 的成员。GTK+ 在 LGPL 许可下授权。
与许多其他小部件工具箱不同,GTK+ 并非基于 Xt。这样做的优点是它允许 GTK+ 在其他系统上可用,并且更灵活。GTK+ 允许最终用户配置工具箱的外观,甚至提供多种不同的显示引擎。这些引擎可以模拟其他流行工具箱或平台的外观,例如 Windows 95、Motif、Qt 或 NextStep。缺点是它无法访问 X 资源数据库,而这是定制 X11 应用程序的传统方法。
GTK+ 2 包括使用 Pango 改进的文本渲染,新的主题引擎,使用辅助工具包改进的辅助功能,使用 UTF-8 字符串完全过渡到 Unicode 以及更灵活的 API。但是,GTK+ 2 缺乏与 GTK+ 1 的兼容性,程序员必须将应用程序移植到它。从 2.8 版开始,GTK+ 依赖于 Cairo 库来渲染矢量图形。
GTK+ 使用 C 编程语言,尽管它的设计者使用面向对象的范式。GNOME 平台绑定提供了 C++ (gtkmm)、Perl、Ruby、Java 和 Python (PyGTK) 绑定;其他人也为许多其他编程语言编写了绑定(包括 Ada、D、Haskell、Lua、Pascal、PHP、Pike 和所有 .NET 编程语言)。
- GNOME 环境使用 GTK+ 作为基础,这意味着为 GNOME 编写的程序使用 GTK+ 作为其工具箱。
- Xfce 也使用它作为其基础,尽管它的应用程序通常不依赖于那么多程序。(这是将某物标记为“GNOME 程序”和“GTK+ 程序”之间的区别。)
- GPE Palmtop 环境、Maemo(诺基亚的互联网平板框架)和 Access Linux Platform(一个新的与 Palm OS 兼容的个人数字 PDA 平台)也使用 GTK+ 作为基础。
这些桌面环境不需要运行 GTK+ 程序。如果程序所需的库已安装,GTK+ 程序可以在其他基于 X11 的环境(例如 KDE 或 X11 加窗口管理器环境)上运行;这包括安装了 X11.app 的 MacOS X。GTK+ 也可以在 Microsoft Windows 下运行。一些比较罕见的端口包括 DirectFB 和 ncurses。