《linuxc编程(第七讲)》由会员分享,可在线阅读,更多相关《linuxc编程(第七讲)(11页珍藏版)》请在金锄头文库上搜索。
1、LINUX C编程,教师:中国地质大学 朱静,第七讲 Linux GUI编程,Linux的图形化设计的特点 X11图形系统的介绍 Gtk Glade图形化编程 Linux系统下常用图形化程序开发工具,Linux的图形化设计的特点,Linux的图形化设计的现状KDE:KDevelopGtk/GNOME:GladeQt:Qt 1,授权许可:KDE和QT曾是QPL,和GPL不兼容;而GNOME生来就是GPL; 2,编程语言:KDE使用C+,而GNOME坚持使用C; 3,对闭源商业软件开发的支持:都有LGPL; 4,地域之争:KDE的开发者很多来自欧洲,而GNOME备受北美开发者的青睐; 5,社群:两
2、者都有相当大的用户群和开发者; 6,应用程序:KDE有相当多的现成的应用程序;而GNOME拥有不少重量级产品;,QT简介,QT的介绍QT是Trolltech公司的一个产品。 Trolltech是挪威的一家软件公司,主要开发两种产品:一种是跨平台的应用程序界面框架;另一种就是提供给做嵌入式Linux开发的应用程序平台,能应用到PDA和各种移动设备上。QT是一个多平台的C+图形用户界面应用程序框架,它能给用户提供精美的图形用户界面所需的所有元素,而且它是基于面向对象的思想,所以用户对其对象的扩展非常容易,它还支持真正的组件编程。,QT简介,QT的特点:优良的跨平台特性;面向对象;丰富的API;XM
3、L支持;虽然QT的Free Edition采用了GPL,但是如果你开发Windows上的QT软件或是UNIX上的商业软件,还是需要向Trolltech公司支付版权费用的。,X11图形系统,X Windows这一系统是目前类UNIX系统中处于控制地位的桌面图形系。它上面运行着包括CAD和办公套件在内的大量应用程序。但由于X Windows在体系接口上的原因,限制了其对游戏、多媒体的支持能力。用户在X Windows运行VCD播放器,或者运行一些大型的三维游戏时,经常会发现同样的硬件配置,却不能获得和Windows操作系统一样的图形效果。另外,大型的应用程序(比如Mozilla浏览器)在X Win
4、dows上运行时的响应能力,也很不令人满意。这里有Linux内核在进程调度上的问题,也有X Windows的原因。,X11图形系统,X Windows介绍A. KDE(Desktop Environment):以QT作为其底层库,QT并不遵守GPL;B. GNOME(GNU network object model environment):以GTK为底层库,遵守GPL;,X11图形系统,Linux下常用类库的介绍Glib:它包含一些基本的数据类型和C的一些功能,与GUI无关,封装了常用函数,可以被GDK,GTK类库或应用程序调用;GDK:建立在Xlib上的针对图形图象类封装的图形库,可以被G
5、TK类库或应用程序调用;GTK:建立在Xlib和GDK之上的面向对象的类库,它提供了完善的控件集,应用程序主要是基于GTK类库来写的;,GTK图形化编程,GTK+简介 GTK+是使用C语言编写的,基于类的思想,是一个面向对象的应用程序接口。,X library,X Application,GTK,GDK/GLIB,GTK图形化编程,GTK+安装 1,下载GTK+开发包,例如:gtk+-2.10.9.tar.gz www.gtk.org 2,安装GTK+开发包 #tar xzvf gtk+-2.10.9.tar.gz #cd /gtk+-2.10.9.tar.gz #./configure #make #make install 3,使用GTK+库的C程序的编译 $gcc pkg-config cflags libs gtk+-2.0 -o * *.c,GTK图形化编程,GTK+的消息与事件 GTK+图形化开发的基础是事件驱动。 当用户单击(双击)图形界面上的组件(如菜单项,按钮等)时,该组件将产生特定的消息。图形程序将根据消息的类型,调用指定的函数。,