我是靠谱客的博主 知性荷花,最近开发中收集的这篇文章主要介绍[学习笔记]Linux应用程序开发指南:使用GTK+Gnome库-01-Gnome的开发结构,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一般用GTK代表软件包和共享库,用Gtk+代表GTK的图形构件集。
在用Gtk+开发Gnome的过程中,由于实际需要,在上面的构件基础上,又开发了一些新构件。一般把这些构件称为Gnome构件(与Gtk+构件相对应)。这些构件都是Gtk+构件库的补充,它们提供了许多Gtk+构件没有的功能。从本质上来说, Gtk+构件和Gnome构件是完全类似的东西。
1、Gnome的开发结构
只使用Gtk+构件也可以开发出优秀的Linux应用程序,但是Gnome构件,特别是GnomeApp、GnomeUIInfo等,使开发界面一致的应用程序变得更加容易。Gnome的一些新特性,如popt参数分析,保存应用程序设置等也是Gtk+构件所没有的。
Gnome差不多对任何语言都提供了Gnome API接口,其中包括Ada、Scheme、Python、Perl、Tom、Eiffel、Dylan以及Objective C等。至少有三种不同的C++封装。
Gnome的开发架构包含以下一些内容:
(1)非Gnome库
Glib Glib是Gnome的基础,它是一个C工具库,提供了创建和操作常用数据结构的实用函数。
Gtk+ Gtk+(GIMP Toolkit的缩写),是在Gnome应用程序中使用的GUI工具包。Gtk+依赖于glib。Gtk+包中包含了Gdk,它是对底层的X Window系统库Xlib的简化。由于Gtk+使用了Gdk而不是直接调用Xlib,因此Gdk的移植版本允许Gtk+运行在不同于X但只有相对较少的修改的窗口系统上。
对Gnome应用程序来说,Gtk+具有以下的特性:
1) 动态类型系统。
2) 用C语言编写的对象系统,可实现继承、类型检验,以及信号/回调函数的基础结构。
3) 类型和对象系统不是特别针对GUI的。
4) GtkWidget对象使用对象系统,它定义了Gtk+的图形组件的使用接口。
5) 大量的GtkWidget子类(构件)。
ORBit ORBit是一个用C开发的CORBA 2.2O RB。ORBit是以一整套库函数的方式实现的。ORBA,或称作通用对象请求中介构架(Common Object Request Broker Architecture),是一套对象请求中介,或称为ORB的规范。
Imlib Imlib (图片库)提供一些例程,其中包括加载、存储、显示,以及定绘制各种流行的图像格式(包括GIF、JPEG、PNG以及TIFF)的函数。它包括两种版本:Xlib-only版本和基于Gdk的版本。Gnome使用Gdk版本。
(2)Gnome库
下面所介绍的库是Gnome-libs包的一部分,并且是专门为Gnome项目开发的。
libgnome libgnome是一些与图形用户接口无关的函数集合,它包含分析配置文件的代码,也包含与一些外部实用程序的接口,比如国际化编程接口(通过GNU gettext 包)、变量解析(通过popt包)、声音编程接口(通过EnlightenmentDaemon,esound)等。
libgnomeui libgnomeui包含了与GUI相关的Gnome代码。libgnomeui主要包含:
1)GnomeApp构件一般用来为应用程序创建主窗口。它使用GnomeDock构件,允许用户重新排列工具栏,还可以将工具条从窗口上拖开。
2)GnomeCanvas构件用来编写复杂的、无闪烁的定制构件。
3) Gnome 内置的pixmap(包括打开、关闭、保存以及其他操作的图标) 用于创建和使用对话框的例程。GnomePixmap构件比GtkPixmap功能更多。
libgnomeui中还有几种其他构件,如GnomeEntry、GnomeFilePicker等。
libgnorba libgnorba提供与CORBA相关的实用程序,包括安全机制和对象激活。
libzvt 这个库包含一个终端构件(ZvtTerm ),可以在Gnome程序中使用它。
libart_lgp 这个库包含由Raph Levien编写的图形绘制例程。实质上它是一个矢量图形光栅图形库,功能类似于PostScript语言。
(3)其他库
这些库一般使用在Gnome应用程序中,但它不是Gnome-libs 专属的部分。
Gnome-print
Gnome-xml 由WWW协会的Daniel Veillard编写。它能按照树状结构分析XML,也能按照XML输出树状结构。这个库不依赖于任何其他的库(甚至glib),所以它只是在名义上是一个Gnome库。
Guile Guile是Scheme编程语言在一个库中的实现,它使任何应用程序都能带有一个嵌入式的Sheme解释器。
Bonobo Bonobo是一种对象嵌入式结构,类似于Microsoft的OLE。任何应用程序将能通过适当的Bonobo组件调用Gnome库,显示MIME类型数据,例如纯文本、HTML或图像。
如果用C++语言开发基于Gtk+应用程序,可以使用一个名为Gtk--的函数库,它是GTK工具包的C++风格的封装。
最后
以上就是知性荷花为你收集整理的[学习笔记]Linux应用程序开发指南:使用GTK+Gnome库-01-Gnome的开发结构的全部内容,希望文章能够帮你解决[学习笔记]Linux应用程序开发指南:使用GTK+Gnome库-01-Gnome的开发结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复