Linux下的桌面程序设计

24.10.2000


Click here to start


Table of Contents

Linux下的桌面程序设计

X的体系结构

X的特征

Broadway简介

X编程

事件驱动

Xlib简介

打开显示服务器

获得显示器信息

创建/销毁窗口

映射/移动窗口

定义象素图

图形上下文

画一些简单的元素

事件

事件处理

键盘编码

处理色彩

X编程注意事项

X编程注意事项(续)

与窗口管理器通信

窗口程序之间通信

GTK简介

一个GTK程序

GTK的事件与信号处理

信号被处理的过程

GTK的控件

实现自己的控件

从头写一个控件

从头写一个控件(续)

组合一个新控件

GNOME的结构

GNOME程序设计

GLADE使用

KDE简介

KDE的结构

KDE的几个子系统

DCOP

KDE编程: QT

KDE编程: KDE

KDE编程: KDE(续)

KDE编程: DCOP

KDE编程: Scripting

KDevelop

Author: xlee

Email: xiaofeng_lee@hotmail.com

Home Page: http://www.lisoleg.org

 

课后思考题:

1. 请描述X的体系结构,即X server, X client, Window manager, X protocol的关系,并结合Linux的X系统,Gnome, KDE具体分析.

2. 请解释X下的事件驱动机制,及相关API.

3. 请给出X下一个普通应用的生成过程和工作流程,并解释每一步的具体含义,及为什么需要这一步.

4. GTK+, CORBA, Gnome与X是什么关系?请用GTK+写一个"hello world"窗口;用Gnome写一个"hello world"的applet嵌在panel中.

5. QT, DCOP, KDE与X是什么关系?请用QT写一个"hello world"窗口;用KDE写一个"hello world"的窗口嵌在panel的tray中.

6. Gnome与KDE的本质区别是什么?您喜欢那一个,为什么?

7. Components的scripting是什么意思?KDE是如何支持scripting的?能举一个例子吗?

8. GTK+的widget控件是什么原理?如何实现一个控件?