原创 linux下的X11图形系统介绍之Gtk图形库

2006-11-7 09:39 9595 13 8 分类: MCU/ 嵌入式

注:如转载请注明本Blog的链接http://www.ednchina.com/blog/zxq914


 


GtkGIMP 工具箱,GIMP ToolKit)是一个功能强大而且快捷的开放源码图形库,用于 UNIX/Linux上的 XWindow系统,程序员可以用来创建按钮、菜单及其它图形对象,Gtk最初是GIMP的专用开发库,后来发展为Linux下开发基于X Window图形界面应用程序的主流开发工具之一,其本身就是自由软件,GNU工程的一部分,因此可以用Gtk+开发开放源码软件、自由软件,甚至商业的、非自由的软件,Gtk图形库使用一系列称为“构件(Widgets)”的对象来创建应用程序的图形用户接口。它提供了窗口、标签、命令按钮、开关按钮、检查按钮、无线按钮、框架、列表框、组合框、树、列表视图、笔记本、进度条等很多构件。使用C语言就可以用它们来构造丰富的用户界面程序。通常情况下,用Gtk代表软件包和共享库,用Gtk+代表Gtk的图形构件集,现在的Gtk+,相对以前的Gtk来说包含了更多的标准回调机制来替代信号机制,符号‘+’就是用于区别原先的版本和新版本。Linux下使用Gtk开发GUI程序用C语言完成,发展到后来可以使用绑定了C++语言的Gtkmm工具来开发GUI程序,有关Gtkmm的详细使用可参见相关书籍,此处不做详细的介绍。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


Gtk是高层的库函数,它基本不使用Xlib库函数,而是使用更低层的函数库GDKGlib。这种结构使得Gtk可以更方便地移植到其它系统上,或使用与X Windows 系统无关的图形库。下图Gtk库函数的结构图:


4c167b04-453b-4ea2-a504-9f0122e3d771.gif


Glib是一些与界面无关的函数构成的基本库,它定义了诸如基本类型、内存操作、定时器字符串操作等系列的函数以及一些宏定义,gdk是底层的图形函数库,它包含Gtk所使用的基本图形操作函数,比如基本图元、颜色、事件处理、图像和位图、窗口、拖放函数等。


Gtk具有以下的一些特性:


1.     动态类型系统。


2.     C语言编写的对象系统,可实现继承、类型检验,以及信号/回调函数的基础结构。


3.     类型和对象系统不是特别针对GUI的。


4.     GtkWidget对象使用对象系统,它定义了Gtk+的图形组件的使用接口。


5.     大量的Gtk Widget子类(构件)


要想用Gtk编程,首先要保证系统中已经安装了GtkGnome库。编译安装Gtk的过程很简单:


1.下载(ftp://ftp.gtk.orgGtk安装包文件到指定目录,并解压,生成源码目录。


2.进入源码目录,执行如下的操作。


./configure


该命令会生成编译时所需的makefile文件


make


使用make命令来建立库。


make install


使用make install命令来安装库。


Gnome的最新版本可以从http://www.gnome.org下载。取得新版本软件后,解压缩和安装的方法与Gtk类似。安装好Gtk及相关组件之后,就可以使用Gtk来设计用户界面程序了。一般来讲,编写Gtk程序主要有以下几个过程:


1.       初始化


2.       创建主窗口


3.       创建并加入子窗口


4.       设置组件回调


5.       显示窗口


6.       进入事件循环


 

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条