zoukankan      html  css  js  c++  java
  • [GUI] Linux中的图形管理

    转:http://www.cnblogs.com/yongpenghan/p/4555619.html

    做了一段时间linux下与QT事件相关的工作,经常会遇到X11,总是苦于无法完全理解其与linux以及QT事件之间的关系,所以用两篇文章来简单总结下linux中的图形管理和QT事件与X11的关系。

    <1> linux中的图形管理

    <2> QT事件与X11的关系

    我们先来几个基础概念,相关概念的起源和发展可以百度或谷歌查看。

    X11

    X11(X Window System Protocol,Version 11),也称X Window,是一种在*nix系统的位图显示视窗系统,为GUI环境构建提供基本的框架,可以在屏幕上绘图、移动窗口、鼠标和键盘操作等,仅为X server和X client之间提供通信协议。X server是xfree86/xorg驱动下的显示设备、鼠标、键盘等外设的统称,X client通过X11协议和xfree86/xorg实现的X server通信,比如X client告诉X server画一个左上角坐标为(x, y)、宽为w、高为h的窗口,xfree86就点亮显示器的一些像素点,绘制一个请求的窗口。

    X client的实现用Xlib来封装,其头文件一般位于/usr/include/X11/下。

    XFree86

    一个实现X server的免费服务器软件。

    Gnome

    Gnome(GNU Network Object Model Environment),*nix系统的图形界面管理系统,利用Gtk库实现,是一个X client。

    KDE

    KDE(K Desktop Environment),*nix系统的图形界面管理系统,利用Qt库实现,是一个X client。

    Qt

    Qt是一个跨平台(通过Q_WS_WIN、Q_WS_X11、Q_WS_MAC等宏定义不同系统的实现)的C++图形应用程序框架,对Xlib做了一层封装。

    Gtk

    Gtk也是一个跨平台的C图形应用程序框架,同样对Xlib做了一层封装。

    看了这几个概念,它们之间的关系也应该大致清楚了。

    X server主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X client作出反馈,并且处理X client传来的输出信息;X client提供一个完整的GUI界面,负责与用户直接交互。

    linux本身没有图形界面,Gnome/KDE只不过是linux下的应用程序,Xfree86也仅是linux下的一个应用程序而已。

  • 相关阅读:
    生成器
    迭代器
    装饰器
    Maven工具学习(六)----Maven依赖的版本锁定与版本常量
    SpringBoot学习记录之整合JSP
    SpringBoot学习记录之入门篇
    【k8s】ep-addresses
    【k8s】ep-metadata
    【k8s】Endpoints
    【k8s】cj-suspend
  • 原文地址:https://www.cnblogs.com/newjiang/p/8403940.html
Copyright © 2011-2022 走看看