赞助连接

赞助连接

阅 读 文 章

X-Window 编程 API

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]


2000/03/04 By maa 


--------------------------------------------------------------------------------

Introduction

随着 KDE、GNOME 的流行,来多人开始习惯一启动 GNU/Linux,就在这种图形化使用者介面环境下作业。在慢慢熟悉窗外的世界後,你可曾想过,自己也尝试来写个 X Window 的应用程式?在这篇文章中,我们将带你一探 X programming 的路途,并让你看看在 X 世界中,各种多彩多姿的图形介面函式库。

首先,我得先让你知道很重要的一点:和 Microsoft Windows 这种每个窗子都长得一模一样的制式化系统不同,在 X Window 的世界中,有超过你想像中多的 APIs (Application Programming Interfaces) 和图形介面函式库;搭配不同的函式库,就会让你的应用程式呈现不一样的风貌。如果你有仔细注意 KDE 和 GNOME 的软体,应该不难看出他们之间有甚麽差异。

The Layered X Programming APIs

「一张图胜过千言万语」,我想咱们就直接从底下这张「The Layered X Programming APIs」一图开始吧。(:这张图是我参考一些文件画的,可能不是很正确,如果前辈觉得有不妥的地方,请来信告知!^_^ )

The Layered X Programming APIs



可别被这张图给吓到,我只是想让你知道「要写一个 X Window 的应用程式,其实有好多条路可以走 」。 

这张图是这样的,上头的「X Applications」也就是我们的应用程式,可以使用各种 APIs 和图形介面函式库 (图中的方块),透过 X Protocol (Network Connection) 来和 X Server 连线沟通。 Appilication 可以用 Motif,或是 KDE、Qt、Gnome、GTK、PerlTK…甚或最底层的 XLib 等任何一种「函式库」来写。而方块叠在方块之上的或是被箭头指着的,代表着上层的方块是「基於」下层的方块衍生而来,比如 Motif 以 Xt 为基础,或是 KDE 以 Qt 为基础以及 GNOME 是以 GTK 为基础衍生而来。

了解这张图怎麽看後,底下就开始解释这张图各元素所代表的意义:

The X Library (Xlib)

The  X Library 是 X Window 程式最低阶的程式设计介面,如果拿来和 Windows 比较起来,Xlib 就和 Windows APIs (或称 Windows SDK) 一样,算是最接近 X Server 的程设介面,它只提供最基本的缯图和讯息事件的处理。

由於 Xlib 只能使用 C/C++ 语言来写,程式的撰写比较低阶杂。因此後来就有将 Xlib 包装简化 (抽象一些) 的函式库出现,让 X Application 的撰写变得比较容易。 

X GUI Toolkits

X Toolkit Intrinsics (Xt)

Xt 是第一个把 Xlib 包装成更抽象化的函式库,它提供了「物件导向」的程式设计架构,并且引进了一种称为「widget」的概念,这种「widget」资料结构也就是所谓的「User Interface Componets」像是 menus、buttons 或是 TextBox 等 widgets。从此以後程式设计师就可以用 widget 的观念,来架构我们的应用程式,让程式变得简单且容易了解。 
不过 Xt 只定义了应用程式要如何和这些 widgets 沟通,并没有规定这些 widgets 的外观要长甚麽模样。这些 widgets 真正的样子最後还是得靠更高层的函式库来处理。 (通常提供 widgets 的函式库,我们就称之为 X ToolKits)。 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 编程 程式 图形 Motif GTK 可以 GNOME KDE 语言 工具

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.