allwiki首页  
天下维客 你可以修改的网络知识库
首页最近更改优秀条目专题展示电脑科技词典软件学习网络知识电脑安全明星时尚天下百科
 

GTK

天下维客,你可以修改的网络知识库

Jump to: navigation, search
返回到编程条目↑

GTK+最初是GIMP的专用开发库,后来发展为Linux下开发图形界面的应用程序的主流开发工具之一。GTK+2.0是自由软件,并且是GNU工程的一部分。GTK+2.0的许可协议是LGPL

目录

编程语言

GTK+使用C语言开发,但是其设计者使用面向对象技术。 在GNOME平台上提供了C++(gtkmm)、PerlRubyJavaPython(PyGTK)绑定,其他的绑定有Ada、 D、 HaskellPHP和所有的.NET编程语言。

与其他很多部件工具箱不同,GTK+并不基于Xt。这一决策优劣互见:优点是GTK+可以应用于其他系统,其灵活性也很强;而缺点就是它无法利用以传统方法为X11定制的X资源数据库。

Glade是一个界面设计工具,但是它也包含了一种描述GUI界面的XML语言,它和libglade一起工作就可以直接使用GTK和GNOME控件,而使用Glade生成编程语言源代码的做法或许多少有些过时了。

外观和感觉

提供不同的显示引擎使得最终用户可以定制外观和感觉。目前已经有一些可以模仿其他流行的平台或者工具箱(例如Windows 95MotifQt或者NEXTSTEP)的引擎。


使用GTK的环境

  • GNOME是以GTK+为基础,就是说为GNOME编写的程序使用GTK+做为其工具箱。
  • Xfce也基于GTK+, 但是他的应用程序并不对很多其他程序有依赖. (这就是"GNOME程序" 和"GTK+程序"的不同。)
  • GPE Palmtop环境和Nokia的互联网平板电脑的框架Maemo基于GTK+。

这只是一部分,另外GTK+也可以运行在KDE这样的环境下。而且GTK+也可以在Microsoft Windows运行,另外还有DirectFBncurses

图形无关代码

最初GTK+包括一些和图形无关的常规功能,如链表二叉树数据结构。这些基本功能和对象系统GObject已经合并到独立的Glib,它被程序员专门用于开发不需要图形界面的代码。

GTK+ 2

2002年3月11日,GTK+2.0版正式发布。GTK+ 2是GTK+后继版本,其新特性包括使用Pango改进的文本渲染、新主题引擎、使用ATK改进的可达性、完全转换到使用UTF-8Unicode和更灵活的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。


外部资料

Personal tools
工具
金银币拍卖 金币拍卖预展  金银币网店 熊猫金银币 生肖金银币