一、Qt和GTK+
虽然Linux下的大多数开发是基于字符界面的,但在Linux环境下也可以开发出美观大方的图形界面。经过多年的发展,目前已经存在多种用于在Linux下开发图形界面程序的开发包,其中较为常用的是Qt和GTK+。
Qt是一个跨平台的图形用户界面开发库,它不仅支持Linux操作系统,还支持所有类型的UNIX以及Windows操作系统。Qt良好的封装机制使它模块化程序非常高,可重用性很强,Qt提供了丰富的API供开发人员使用。使用Qt开发的图形用户界面程序具有良好的稳定性和健壮性。桌面环境KDE(K Desktop Environment即K桌面环境)就是使用Qt作为其底层库开发出来的。
由于Qt使用C++面向对象编程语言作为其开发语言,而许多Linux从事开发的程序员更喜欢或更习惯于用C语言。GTK+使用C语言作为开发语言。它基于LGPL授权,因此GTK+是开放源代码而且完全免费的。GTK+简单易用,执行效率高。基于这些原因,GTK+拥有为数众多的拥护者。LInux的桌面环境GNOME就是建立在GTK+基础上。
二、GTK+简介
下图是GTK+在几种相关的开发库中的位置。
Application
GNOME
GTK+
GDK
   glib X
   C
上图中每层除了与其上下相邻的两层有联系外,似乎与其他层没有关系。实际上,任何上层都可以调用位于它下面的各层提供的函数。例如,GTK+不仅可以调用GDK函数,也可以调用glib和C库函数。
下面按层作简单的介绍,具体说明如下:
层    具体描述
C    有两类C库函数可供调用,一类是标准C的库函数,如printf,scanf;另一类是 
                    Linux的系统调用,如open,read,write,fork
glib               glib是GDK、GTK+、GNOME应用程序常用的库。它包含内存分配、字符串操
                    作、日期和时间、定时器等库函数,也包括链表、队列、树等数据结构相关的工
                   具函数
X                 它是控制图形显示的底层函数库,包括所有的窗口显示函数、响应鼠标和键盘操
                   作的函数
GDK             GDK(GIMP绘图包)是为了简化程序员使用X函数库而开发的。X库是其低层函
                    数库,GDK对其进行了封装,从而使程序员的开发效率大为提高。
GTK+           GTK+就是GIMP工具包,它把GDK提供的函数组织成对象,使用C语言模拟出
                    面对象的特征,这使得用它开发出来的图形界面程序更为简单和高效。GTK+的
                    一个重要组成部分是widget(控件,也称为小部件),按钮、文本编辑框、标
                    签等都是widget
GNOME        GNOME库是对GTK+的扩展,GNOME桌面环境用来控制整个桌面。GNOME
                  使用GNOME对象和函数与桌面小部件交互,基本小部件由GTK+处理。GNOME
                    为了方便程序员还增加了一些专门的小部件。
Application   Application即应用程序,它完成窗口的初始化,创建并显示窗口,进入消息循
                    环,等待用户使用鼠标或键盘进行操作。

简单地说,GTK+就是用C语言编写的用于开发图形界面程序的函数库。GTK+来源于GIMP(GNU Image Minipulation Program,即GNU图像处理程序)。GTK+在GDK(GIMP Drawing Kit,即GIMP绘图包)基础上创建,对它进行封装。GTK+简单易用,它设计良好,灵活而富有扩展性。它是自由软件,这意味着被它不仅开放源代码,而且还可以免费使用。由于它使用C语言作为其开发语言,而C语言是跨平台的,因此GTK+几乎可以在任何操作系统上使用。

Linux下的图形界面编程相关推荐

  1. 怎么开发Linux图形界面程序,Linux下的图形界面编程

    Linux下的图形界面编程 一.Qt和GTK+ 虽然Linux下的大多数开发是基于字符界面的,但在Linux环境下也可以开发出美观大方的图形界面.经过多年的发展,目前已经存在多种用于在Linux下开发 ...

  2. 在 windows 下使用 Xming+Putty 显示 Linux 下软件图形界面

    From: http://www.blogjava.net/ivanwan/archive/2012/04/26/376670.html From: http://www.bubuko.com/inf ...

  3. 在windows下使用Xming+Putty显示Linux下软件图形界面

    From: http://www.blogjava.net/ivanwan/archive/2012/04/26/376670.html From: http://www.bubuko.com/inf ...

  4. linux下的图形界面扫雷游戏(Gtk+2.0)

    linux下的图形界面扫雷游戏(Gtk+2.0) 空间 转载请注明出处.http://www.cnblogs.com/dave_cn/ 之前做了一个字符界面下的扫雷(http://www.cnblog ...

  5. linux下GTK图形界面取消关闭按钮和最大化按钮代码

    linux下GTK图形界面取消关闭按钮和最大化按钮代码 由于项目需要,需要将GTK图形界面的关闭按钮和最大化按钮去掉,查阅很多资料终于解决.先分享出来,方便大家学习. 首先创建一个GTK小窗口(代码不 ...

  6. win10 使用Xming+Putty显示Linux下软件图形界面

    在windows下使用Xming+Putty显示Linux下软件图形界面 转载 ############# 安装Xming 和 Putty: ############# Xming是一个在Micros ...

  7. linux oracle新建监听,linux 下 oracle图形界面(需配置监听,创建实例)

    摘要:oracle 图形界面配置监听,创建实例,以下都是我安装是的截图,按步骤一定可以安装成功! CentOS6.7_x64_minimal_desktop的虚拟机一台(安装oracle需要图形界面, ...

  8. linux下无图形界面安装ansys,linux redhat6.5 X Window安装 ANSYS软件安装

    1.yum groupinstall "X Window System" –y 2.yum groupinstall "Desktop"(这是默认的桌面,可以安 ...

  9. 【转】linux图形界面编程基本知识

    原文:https://blogs.gnome.org/raywang/2007/10/11/linux%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2%E7%BC%96%E7% ...

最新文章

  1. php bootstraptable分页,Bootstrap table分页问题汇总【附答案代码】
  2. Python+selenium 自动化-基本环境搭建,调用selenium库访问百度查询天气实例演示
  3. Ubuntu 18.04 搭建 gitlab服务器记录
  4. SVN 出错信息汇总/错误信息一览表
  5. 【英语学习】【WOTD】disavow 释义/词源/示例
  6. 交出娃哈哈,宗庆后还是不放心?
  7. nmon和nmon analyser使用方法
  8. JAVA练习173-幂集
  9. IDEA使用教程之创建一个工程(一)
  10. 模拟一个简单的购房商贷月供计算器
  11. 静态IP、动态IP、ADSL拨号和DNS这几者你分得清吗?
  12. 吴章金: 深度剖析 Linux共享库的“位置无关”实现原理
  13. 关于windows自带的两种远程访问方式
  14. 腾讯AI八篇论文入选顶级医学影像会议MICCAI ,涉及病理癌症图像分类等
  15. 水果忍者VR原型 二
  16. 目前为止学习过的循环解析过程
  17. win7/win10上安装谷歌官方无广告的安卓模拟器 - Android Studio - 下载安装AVD虚拟机
  18. ZeroClipboard2跨浏览器复制粘贴
  19. kotlin_基础_密封类(sealed)
  20. 全新天龙八部:4年积攒更惬意的方法

热门文章

  1. 2018.8.14-C#复习笔记总
  2. 企业架构 - 企业架构成熟度模型(EAMM)
  3. 代码创建 WPF 旋转动画
  4. HTTP权威指南记录 ---- HTTP概述
  5. Android 8.0 运行时权限策略变化和适配方案
  6. SpringMVC-HelloWorld
  7. Apache Storm 官方文档 —— 源码组织结构
  8. MBProgressHUD
  9. 【转】C# DateTime 日期计算
  10. getElementsByName 的应用,获取组的选择值