---------------------------------------------------------------------------------
GTk+ 2.x 初级教程
本教程教述了一些最常用的构件(Widget)的使用,是专门为初学者准备的。原作者为Jan Bodnar,译者为chinalmy(卢名扬)
---------------------------------------------------------------------------------
GTK+ 简介
关于本初级教程
本GTK+程序初级教程采用了“引导”式的方法来教你如何使用GTK+。本教程所用的编程语言为C语言。并且整个教程中方法已经在Linux中测试通过。本教程适用GTK+的初学者兼代中级学者。
GTK+
GTK+ 是一种函数库是用来帮助制作图形交互界面的。整个函数库都是由C语言来编写的。 GTK+函数库通常也叫做 GIMP 工具包。 因为,一开始GTK+是用来编写“GIMP” –这个图形处理软件的 。 从那以后, GTK+就逐渐成为了Linux and BSD Unix下最受欢迎的用于图形交互界面(GUI)设计的工具包之一。 时至今日, 大多数的Linux下的GUI软件(有图形交互界面)都是由GTK+或者QT来编写的。GTK+是一种面向对象式的API(application programming interface)。Glib是GTK+的基础,而这种“面向对象系统”正是由“Glib”来提供的。GObject 也就是这种面向对象的机制可以为GTK+绑定很多种开发语言。目前存在的语言有: C++, Python, Perl, Java, C# ,PHP,等其他高级语言。
GTK+ 和以下“函数库”存在着依赖关系
* Glib
* Pango
* ATK
* GDK
* GdkPixbuf
* Cairo
Glib 是一种通用的函数库。她提供了各种各样的语言特性,譬如说:各种数据类型,字符串函数,错误通知,消息队列和线程。
Pango是一种函数库,用开实现国际化和本地化的。
ATK一种平易近人的工具函数包,她为肢体有缺陷的人使用电脑提供了便利。
GDK 是一种函数库,她为整个GTK+图形库系统提供了一些底层的“图形实现”和“窗口实现”的方法。在Linux中GDK是位于X服务器和GTK+函数库之间的。在最近的GTK+发行版本中,越来越多的功能性函数,都交给了Cairo函数库来处理。
GdkPixbuf函数库是一种函数库工具包用于加载图像和维护图像“缓存”的(pixel buffer)。
Cairo是一种函数库用于制作二维图像。从GTK+2.8版本以后,Cairo就正式成为GTK+系统中的一员了。
Gnome and XFce 桌面环境系统都是用GTK+来编程实现的. SWT and wxWidgets 是种很著名的编程框架,也是用GTK+来编程实现的。最杰出的GTK+软件的代表是 Firefox (火狐浏览器)和 Inkscape。
编译 GTK+ 应用程序
有一个非常方便的工具--"pkg-config",可以帮助我们编译GTK+的应用程序。 pgk-config可以提供各种安装函数库(譬如GDK,Pango等)的位置。简单点说,就是我们如果想使用某种函数库,Pkg-config就会为 我们提供所需要的lib与include文件的位置。 pkg-config 是从一些通常以“.pc”结尾的文件中,得到所需要的信息的。
上面的编译命令,就是在展示我们如何去编译一个简单的源文件——“simple.c”。
上面列出了pkg-config为你自动提供的编译所需要的include文件的信息。
上面列出了pkg-config为你自动提供的编译所需要的lib文件的信息。
* gtkforums.com
* GTK+ / Gnome application development
-------------------------------
未完代续。。。。
GTk+ 2.x 初级教程
本教程教述了一些最常用的构件(Widget)的使用,是专门为初学者准备的。原作者为Jan Bodnar,译者为chinalmy(卢名扬)
---------------------------------------------------------------------------------
GTK+ 简介
关于本初级教程
本GTK+程序初级教程采用了“引导”式的方法来教你如何使用GTK+。本教程所用的编程语言为C语言。并且整个教程中方法已经在Linux中测试通过。本教程适用GTK+的初学者兼代中级学者。
GTK+
GTK+ 是一种函数库是用来帮助制作图形交互界面的。整个函数库都是由C语言来编写的。 GTK+函数库通常也叫做 GIMP 工具包。 因为,一开始GTK+是用来编写“GIMP” –这个图形处理软件的 。 从那以后, GTK+就逐渐成为了Linux and BSD Unix下最受欢迎的用于图形交互界面(GUI)设计的工具包之一。 时至今日, 大多数的Linux下的GUI软件(有图形交互界面)都是由GTK+或者QT来编写的。GTK+是一种面向对象式的API(application programming interface)。Glib是GTK+的基础,而这种“面向对象系统”正是由“Glib”来提供的。GObject 也就是这种面向对象的机制可以为GTK+绑定很多种开发语言。目前存在的语言有: C++, Python, Perl, Java, C# ,PHP,等其他高级语言。
GTK+ 和以下“函数库”存在着依赖关系
* Glib
* Pango
* ATK
* GDK
* GdkPixbuf
* Cairo
Glib 是一种通用的函数库。她提供了各种各样的语言特性,譬如说:各种数据类型,字符串函数,错误通知,消息队列和线程。
Pango是一种函数库,用开实现国际化和本地化的。
ATK一种平易近人的工具函数包,她为肢体有缺陷的人使用电脑提供了便利。
GDK 是一种函数库,她为整个GTK+图形库系统提供了一些底层的“图形实现”和“窗口实现”的方法。在Linux中GDK是位于X服务器和GTK+函数库之间的。在最近的GTK+发行版本中,越来越多的功能性函数,都交给了Cairo函数库来处理。
GdkPixbuf函数库是一种函数库工具包用于加载图像和维护图像“缓存”的(pixel buffer)。
Cairo是一种函数库用于制作二维图像。从GTK+2.8版本以后,Cairo就正式成为GTK+系统中的一员了。
Gnome and XFce 桌面环境系统都是用GTK+来编程实现的. SWT and wxWidgets 是种很著名的编程框架,也是用GTK+来编程实现的。最杰出的GTK+软件的代表是 Firefox (火狐浏览器)和 Inkscape。
编译 GTK+ 应用程序
有一个非常方便的工具--"pkg-config",可以帮助我们编译GTK+的应用程序。 pgk-config可以提供各种安装函数库(譬如GDK,Pango等)的位置。简单点说,就是我们如果想使用某种函数库,Pkg-config就会为 我们提供所需要的lib与include文件的位置。 pkg-config 是从一些通常以“.pc”结尾的文件中,得到所需要的信息的。
- gcc -o simple simple.c `pkg-config --libs --cflags gtk+-2.0`
上面的编译命令,就是在展示我们如何去编译一个简单的源文件——“simple.c”。
- $ pkg-config --cflags gtk+-2.0
- -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
- -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0
- -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12
上面列出了pkg-config为你自动提供的编译所需要的include文件的信息。
- $ pkg-config --libs gtk+-2.0
- -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0
- -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr
- -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0
- -lgmodule-2.0 -ldl -lglib-2.0
Sources
* gtk.org* gtkforums.com
* GTK+ / Gnome application development
-------------------------------
未完代续。。。。