chapter10 Linux下的GUI编程.ppt
《chapter10 Linux下的GUI编程.ppt》由会员分享,可在线阅读,更多相关《chapter10 Linux下的GUI编程.ppt(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精通精通Linux CLinux C编程编程重点内容:重点内容:l XlibXlib编程编程 l GTK+/GNOMEGTK+/GNOME编程编程第第第第10101010章章章章 LinuxLinuxLinuxLinux下的下的下的下的GUIGUIGUIGUI编程编程编程编程 精通精通Linux CLinux C编程编程一、概念一、概念一、概念一、概念 X Window也称为X窗口系统,是由麻省理工学院(MIT)推出的窗口系统,简称X。它旨在建立不依赖于特定硬件系统的显示窗口系统的标准。X窗口的最早商业版本是在1986年推出的X10.4,该版本成为某些商业应用的基础。1987年9月MIT发布了
2、新版本X11Rl,在1988年发布了X11R2版。版本11在它的速度上、灵巧性和多屏幕的风格上都远远超过了X10版。它的出现标志着计算机工作站的一个新时代的到来。X11版本已经成为Unix平台的事实上的标准GUI。现在,几乎所有工作站都采用了X窗口的标准,几乎所有工作站上的应用软件都采用了基于X Window的软件平台。目前X的版本到了x11R6.4版,它仍然是源代码发放的。同时,微机上的X系统也日益增多。例如,Linux使用的XFree86就是基于X11R6.4的。X窗口系统主要由四个部分组成,我们将简要对它们进行介绍。它们是:-X服务器:与用户交互操作。-X协议:客户/服务器之间的通信。-
3、X库:程序设计接口。-X客户:软件应用程序。精通精通Linux CLinux C编程编程二、二、二、二、XlibXlibXlibXlib编程编程编程编程 基于X的应用软件是通过调用X的一系列C语言函数实现其各种功能的。这些函数称为Xlib(X库),它提供了建立窗口、画图、处理用户操作事件等基本功能。Xlib是一种底层库,用它来编与图形和交互界面程序虽然非常灵活,但比较复杂和繁琐,因此我们不准备在Xlib程序设计上多做停留,只是简略介绍一下它的基本编程方法。Xlib编程的基本步骤:1)打开Display。2)获取屏幕等基本信息。3)建立窗口。4)选择窗口等接收事件类型。5)建立图元。6)显示窗口
4、。7)进入事件循环。示例:该程序弹出一个窗口,并且在窗口的中央绘制示例:该程序弹出一个窗口,并且在窗口的中央绘制“Hello Hello world!”world!”字符串。字符串。精通精通Linux CLinux C编程编程三、三、三、三、GTK+/GNOMEGTK+/GNOMEGTK+/GNOMEGTK+/GNOME编程编程编程编程 编写过这类X1ib程序的程序员肯定都希望找到一个更好的办法。而好办法确实有。常用的操作界面元素如按钮、滚动条和菜单等早就被实现过很多次了。X窗口系统里的这类元素也叫做构件,把它们收集在一起就形成了人们所说的X工具包。其中,知名的X工具包包括以下几个:-Xt。X
5、t是在X的上面编写的个免费函数库,它给Xlib库增加了一些功能,是一个能够简化应用程序设计的跳板。-OpenLook。OpenLook是Sun公司产品的一个免费的工具包,它强调了一种另类的观感。它是在一个为Xview的函数库上面建立起来的,这个库与Xt很相似。-Motif。Motif是OSF组织的一个标准,设计目的是为UNIX桌面提供统一的观感。Motif分为两个主要部分:一组用来定义Xt函数中使用的各种常数的头文件和一个用来简化对话框和菜单等元素的创建工作的易于使用的函数库。Motif还定义了一种程序设计风格,不管程序员是否使用Motif工具包,都可以参照它来设计自己的程序。-Qt。Qt是一
6、个由Trolltech公司出品的函数库,它构成了KDE桌面环境的基础,在大多数Linux发行版本里都能找到它。Qt编程依赖于大量的C+类集,通常其中每个类都有一大批成员函数来处理类对象。-GTK+。GTK+就是GIMP工具包,它是GNOME系统的基石。下面我们将详细介绍如何对这个高级环境进行程序设计。1 1 1 1、GTK+/GNOMEGTK+/GNOMEGTK+/GNOMEGTK+/GNOME简介简介简介简介 精通精通Linux CLinux C编程编程三、三、三、三、GTK+/GNOMEGTK+/GNOMEGTK+/GNOMEGTK+/GNOME编程编程编程编程 GTK+是GNOME应用软
7、件使用的构件集,它的外观和感觉最初是来源于Motif。构件集是一套可以用于桌面环境的GUI对象,按钮、窗口和工具栏等都是构件的实例。构件集设计用来支持功能性和灵活性。GTK+还包括一个主体引擎,用户可以使用这些构件来改变应用程序的外观。同时GTK+构件保持了小巧和高效的特点。GTK+构件集在库通用公共许可(LGPL,Library General Public License)下是完全免费的。LGPL允许开发人员使用该构件集,并且像使用其它免费软件一样拥有其所有权。该构件集还有一个特点,就是它支持许多编程语言,包括C、C+、Perl、Python等。同时,它完全支持国际化,允许基于GTK+的应
8、用程序用于其它的字符集,例如亚洲语言。在GNOME上运行的程序本质上都是包含GNOME和GTK+函数的C程序。GNOME和GTK+函数为上述程序处理GNOME桌面操作。当使用GNOME编程时,会用到大量的函数和结构,这些函数和结构包含在许多库里,组成了GNOME应用软件的不同部分。1 1 1 1、GTK+/GNOMEGTK+/GNOMEGTK+/GNOMEGTK+/GNOME简介简介简介简介 精通精通Linux CLinux C编程编程三、三、三、三、GTK+/GNOMEGTK+/GNOMEGTK+/GNOMEGTK+/GNOME编程编程编程编程 任何GTK程序都需要几个基本的函数和组成都分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chapter10 Linux下的GUI编程 Linux GUI 编程
限制150内