- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINUX下的GDK编程基础
维普资讯
实 用 技 市
Gtk是用于实现图形用户接口的函数库 。在Linux平台上, 相关的函数声明捧障在 gdk/gdk.h头文件井。每个教据结构的
GuI(图形用户接 口)使用的是称为x 窗口 (xwindo )的 “私有 敝本都包含一个封装啬勺x1 数据结构,且这个数据结
系统。x窗 口系统是 l984由美国麻省理工学院 (MIT)开发 构被传递到XDrawPoint()函数中.所以XDrawPoint()函数的
的。在Liflux上使用的x窗口系统是一种称为XFree86的x{!匣 文档也适用于Gdkdraw—point()函数
本。x窗口系统与MicrosoftWindows的图形用户接 口有所不
同,它是摹于客户 /服务器的 x服务器在计算机上运行,控 G矗Ⅲndow
制监视嚣、鼠标和键盘。x客户通过网络与服务器通讯。x服
务器为x客户提供图形显示掇务。 GdkWindow是x1ib窗口对象的封装。一个5dkWind~ 代表
也就是说.x客户和x服务器可能在同一台计算机上运行, 屏幕上的一个区域,可以显示或瞄藏起来 (在xlib里面称为映射
也可能在不同的计算机上运行。x窗口系统带有一套低级的库函 或反映射窗口),也可以捕获GdkWindow接收到的事件,还可以
数,称为x1ib X1ib提供了许多对x窗口的屏幕进行操作的函 在里面绘制图像,移动或调整图像的尺寸。GdkWindow 是以树
数。当然,使用X1ib函数在屏幕上创建构件是很复杂的。Gtk 状结构组织的,也就是说,每一个窗口都可以有子窗口 子窗
要在屏幕上绘制各种构件.裁需要与x服务器打受道,但是nk 口是相对于父窗口的位置定位的,当父窗口移动时,子窗口也
提供的构件库并来直接使用xlib,而是使用了一个称为GDK的 台移动。予窗口不会在父窗口边界外的区域绘 出(也就是说,它
库。6Dx的意思是Gr DrawingToo1kit.亦卸GIMP绘图工 们会被父窗口剪裁) 。所谓GdkWindow窗口的树状组织并不是针
具包。差不多每个GDK函数都是一个相应Xlib函数的封装。但 对每个应用程序的,实际上有一十由x厦务器和窗口管理器控制
是xlib的某些复杂性 (和功能)被雎藏起来了。这样是为了简化 的窗 口的全局树 根宦口没有父窗口.所有窗 口都是从它派生
编程 使GDE更容易移植到其他窗口系统 (有一十在Windows平 而来的。作为桌面背景 根窗口的全部或部分总是可见的。每
台上的GDK版本)。被跆藏的Xlib功能一般是程序员极少用到 个宙口都可以为不同的Linux进程所拥有.一些窗口是由窗口管
的,例如.x1ib的许多特性只有窗口管理器才会用到,所以 理器所创建的.还有一些来 自于用户的应用程序。
没有封装到GDK当中。如果需要,可以在应用程序中直接调用 GdkWind 和Gtkwindow是完全不同的东西。GtkWindow是
x1ib函数,只要在文件头部包含Gdk/Gdkxh头文件就可以了 一 个Gtk+梅件,用于表示顶级(topleve1)窗口(顶级窗口是在窗口
一 般情况下.如果要创建普通的图形接 口应用程序,使用 层扶中由应用程序控制的最高级别的窗口)。典型情况下,窗口
G~k鞔可以了 Gtk+和Gnome构件库提供了极为丰富的构件,足 管理器为硬级宦口创建各种装饰.包括标题条、关苻l按钮以及窗
以构造非常复杂的用户界面。但是.如果需要开发新构件.或 口外观等 要理解x窗口首先要知道它是x服务器上的—个对象,
者要创建绘图程序,仅使用Gtk就不够了 这时可以采用X1ib, 这一点根重要。x客户对每一个窗口获得一个独一无二的整数 ID
更好的方法是使用GDK库,它可以应付绝大多数的编程需要。如 号,井用ID
文档评论(0)