图形界面并不是linux的一部分,linux只是一个基于命令行的 *** 作系统,linux和Xfree的关系就相当于当年的DOS和 WINDOWS3.0一样,windows3.0不是独立的 *** 作系统,它只是DOS的扩充,是DOS下的应用程序级别的系统,不是独立的 *** 作系统,同样 XFree只是linux下的一个应用程序而已。不是系统的一部分,但是X的存在可以方便用户使用电脑。WINDOWS95及以后的版本就不一样了,他们 的图形界面是 *** 作系统的一部分,图形界面在系统内核中就实现了,没有了图形界面windows就不成为windows了,但linux却不一样,没有图形界面linux还是linux,很多装linux的WEB服务器就根本不装X服务器。这也是WINDOWS和linux的重要区别之一。
二,X是协议,不是具体的某个软件:
X 是协议,就像HTTP协议,IP协议一样。这个概念很多初学者甚至学习LINUX有一定时间的人都混淆,一个基于X的应用程序需要运行并显示内容时他就联接到X服务器,开始用X协议和服务器交谈。
比如一个X应用程序要在屏幕上输出一个圆那么他就用X协议对X服务器说:喂!我需要在屏幕上画一个圆。
X应用程序只负责告诉X服务器在屏幕的什么地方用什么颜色画一个多大的圆,而具体的”画”的动作,比如这个圆如何生成,用什么显卡的驱动程序去指挥显卡完成等等工 作是由X服务器来完成的。
X服务器还负责捕捉键盘和鼠标的动作,假设X服务器捕捉到鼠标的左键被按下了,他就告诉X应用程序:亲爱的应用程序先生,我发现 鼠标被按下了,您有什么指示吗?如果X应用程序被设计成当按下鼠标左健后再在屏幕上画一个正方形的话,X应用程序就对X服务器说:请再画一个正方形,当然 他会告诉服务器在什么地方用什么颜色画多大的正方形,但不关心具体怎么画–那是服务器的事情。
首先,恕我直言,这么问,说明你完全没搞清楚Python和Qt是什么,Linux下图形开发,Qt毫无疑问是主流,linux里非常流行的窗口管理系统KDE就是基于Qt,还有Ubuntu宣布下一个版本也将基于Qt,Python当然也应该学,而且Python里主流的开发界面的框架PyQt就是绑定Qt的库,你把这两个对比,完全是没搞清楚Python和Qt各自是什么东西,建议两个都学,因为搞linux,这两个都非常有欢迎分享,转载请注明来源:内存溢出
评论列表(0条)