GTK+图形化应用程序开发学习笔记(一)—概述
一、什么是GNOME、
GNOME的意思是“GNU Network Object Model Environment”(GNU网络对象模型环境),是Linux世界令人激动的软件开发成果。虽然它的名字比较长,但这个软件项目的目的却很简单,那就是实现一个永恒友好的、功能强大的用户和开发桌面环境,而这一环境又完全是以免费的开源代码软件为基础的。
正像它名字的那样,GNOME既是一个桌面,也是一个完整的程序设计环境。GNOME是底层X窗口系统和高层管理器软件中间的一个程序设计界面,它向GUI程序员提供了丰富的功能和强大的开发工具,这些工具是传统意义上的Linux所缺乏的。
二、什么是GIMP、GTK+
GNOME中的基本工具包是GTK+(即GIMP工具包),它最初是为了简化GIMP的开发工作而编写出来的。
GIMP是UNIX类操作系统上的影像处理程序。GIMP是通用影像处理程序或者GNU影像处理程序的缩写。它的功能类似Windows的Photoshop。
GTK+是一个性能优异的、面向对象的、跨平台的、不依赖于具体语言的开发工具包,在GNOME出现之前就已经大量地用来开发各种软件程序了。GTK+能够支持许多程序设计语言,其中包括C、C++、TOM、PERL、Python、GUILE、ADA等。
三、GTK+使用的库
GTK+使用GLIB库和GDK(GIMP Drawing
Kit,GIMP绘图工具包)系列的开发库,GLIB定义了数据类型,提供了错误处理和内存管理方面的函数;而GDK则是本地图形化API和GTK+中间的一个过渡层,它需要依赖具体的计算机平台。因此,向其他计算机平台上移植GTK+只需要重新编写GDK。
四、GTK+的安装
一般来说最新的Redhat完全安装就带GTK+工具库了。大家直接可以在上面开发程序。如果当前系统没有GTK+工具库,可以到www.gtk.org.下载源码安装。具体安装方法可以。参见CU上的GTK+
2.0安装的帖子,这里不再叙述。
检验系统GTK+ 2.0的方法是
$ pkg-config --modversion gtk+-2.0
五、使用GTK+工具集编写程序
下面就是一个简单的使用GTK+库编写的程序,目的是让大家体验到GTK+编程的乐趣。
/*base.c*/
#include <gtk/gtk.h>
int main(int argc, char* argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return FALSE;
}
|
下面我们编译它:
$ gcc -o base base.c 'pkg-config --cflags --libs gtk+-2.0'
要注意的是pkg-config --cflags --libs gtk+-2.0旁边两个像单引号的东西其实不是单引号,它是数字键1左边的符号。大家一定要注意。如果用单引号编译器会提示你pkg-config
--cflags --libs gtk+-2.0没有那个文件或目录。
下面我们来运行:
$./base
程序运行后会出现一个名字为base窗体。
大家可以感觉到GTK+ 程序和普通的C语言程序没什么差别,它只不过是调用了GTK+工具库。
分享到:
相关推荐
学习GTK图形化应用程序开发很好的资料!!
GTK+图形化应用程序开发学习笔记 从网上收集,整理成pdf格式
PDF电子书《用GTK+和GDK开发Linux图形用户界面应用》
用 GTK+和GDK开发linux图形用户界面应用
关于图形库GTK+2.0的一本教材,例子丰富……对刚刚入门的人应该有用
LINUX应用程序开发指南:使用GTK+ GNOME库
gtk+开发工具gtk+开发工具gtk+开发工具
Linux应用程序开发指南:使用gtk+ gnome库Linux应用程序开发指南:使用gtk+ gnome库
特别是被GNOME选中使得GTK+广为流传,成为Linux下开发图形界面的应用程序的主流开发工具之一,当然GTK+并不要求必须在Linux上,事实上,目前GTK+已经有了成功的windows版本. GTK+ 是一种图形用户界面(GUI)工具...
Linux应用程序开发 Gtk+/Gnome开发,学习GUI图形界面
GTK+ 参考手册 for GTK+ 2.14.3,最新英文版 GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under ...
基于C gtk/gtk+ sqlite3选课系统的开发
GTK+程序设计中文版 .pdf
本GTK+程序初级教程采用了“引导”式的方法来教你如何使用GTK+。本教程所用的编程语言为C语言。并且整个教程中方法已经在Linux中测试通过。本教程适用GTK+的初级兼代中级水平的程序员。 GTK+ 是一种函数库是用来...
第一部分介绍Linux GUI编程架构以及编程基础知识,第二部分介绍Linux 编程常用C语言函数库glibc、构件库Gtk+、Gnome,第三部分介绍Linux下的GUI生成器Glade,第四部分介绍Linux编程调试工具gdb及xxgdb。第五部分包括...
本书详细介绍了两种Linux图形用户界面开发技术:GTK+/GNOME。主要内容包括:GUI的基本概念,GLib,GTK+及GNOME的简介,各种GUI元素的创建与使用,bIDE,Glade等等。最后通过两个综合实例来巩固所学知识。本书实例...
第一部分介绍Linux GUI编程架构以及编程基础知识,第二部分介绍Linux 编程常用C语言函数库glibc、构件库Gtk+、Gnome,第三部分介绍Linux下的GUI生成器Glade,第四部分介绍Linux编程调试工具gdb及xxgdb。第五部分包括...
LINUX应用程序开发指南:使用GTK+ GNOME库.rarLINUX应用程序开发指南:使用GTK+ GNOME库.rarLINUX应用程序开发指南:使用GTK+ GNOME库.rarLINUX应用程序开发指南:使用GTK+ GNOME库.rarLINUX应用程序开发指南:使用...