Linux X 视窗编程基础

本文介绍了Linux中的X视窗系统的基本组成部分及其工作原理,包括X服务器、X客户端和X协议等,并讨论了GTK+等GUI工具包在GNOME编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://hi.baidu.com/guzhou_diaoke/item/55ea7beb4aae84fde0a5d410


用GTK+进行GNOME编程

Linux中所有的GUI库都基于被称作X视窗系统(更常见的称呼是X11或者X)的底层视窗系统。
1.X视窗系统
X的一个最富有创新性也最令人感到沮丧的特征,是它固守机制的要求,而不是策略的需要。它没有定义用户界面,但提供了创建用户界面的手段。这意味着你可以自由地创建自己的整个桌面环境,随意进行试验和创新。
X视窗系统被分为硬件级和应用程序级组件,它们分别被成为X服务器和X客户端。这些组件使用X协议进行通信。

(1)X服务器
X服务器运行在用户的本地机器上,它在屏幕上完成低层的绘图操作。
因为X服务器直接与显卡交互,所以必须使用一个适合本机显卡的X服务器,并配置好合适的分辨率、刷新率、颜色深度等。
X服务器通过鼠标和键盘监听用户输入,并将键盘按键和鼠标点击传输给X客户端应用程序。这些信息被称为事件,它们构成GUI编程的一个关键元素。

(2)X客户端
X客户端是以X视窗系统作为GUI的任何程序。
通常情况下,X客户端等候X服务器传送的用户事件,然后通过给X服务器发送重绘消息来响应。
X客户端不需要和X服务器运行在同一台机器上。

(3)X协议
X客户端和X服务器使用X协议进行通信,这使得客户端和服务器端可以通过网络分离。

(4)Xlib库
Xlib是X客户端间接用于产生X协议消息的库。它提供一个非常底层的API供客户端在X服务器上绘制非常基本的元素,并响应最简单的输入。
GUI程序员不应该直接使用Xlib进行编程。

(5)X工具包
X工具包是一个GUI库,X客户端可以利用它来极大地简化窗口、菜单和按钮的创建。
历史上最流行的工具包有Motif、OpenLook和Xt,但它们大多已经被技术上更先进的GTK+和Qt取代,这两者分别构成了GNOME和KDE桌面的基础。

(6)窗口管理器
它负责定位屏幕上的窗口。

(7)创建GUI的其他方法--平台无关的窗口API
有些语言本身就支持GUI,并且可以在Linux 下使用,如Java,C#,Tcl/Tk,Python,Perl。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值