QT与GTK+比较.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GTK+图形界面编程 本章将介绍Linux下的图形界面编程,重点介绍基于C语言的具有面向对象特征的GTK+图形界面编程。主要介绍 GTK+图形界面应用程序的框架、基本原理、常用控件的使用。 本章重点: GTK+程序的基本结构。 事件和消息处理。 常用控件的使用。 本章难点: 理解GTK+应用程序的基本原理。 熟悉常用控件的基本用法。 12.1 Linux下的图形界面编程 12.1.1? 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+简介 图12-1GTK+在几种相关的 开发库中的位置。 图12-1中每层除了与其上下相邻的两层有联系外,似乎与其他层没有关系。实际上,任何上层都可以调用位于它下面的各层提供的函数。例如,GTK+不仅可以调用GDK函数,也可以调用glib和C库函数。 下面按层作简单的介绍,具体说明如表12-1所示。 表12-1?各层的具体含义 具 体 描 述 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+几乎可以在任何操作系统上使用。 在安装Federo Core或者Red Hat Linux系列操作系统时,如果选择了安装应用程序开发包,那么操作系统安装完毕后,GTK+开发包就已经安装好了。如果没有安装,请从网络上()免费下载一份GTK源代码并安装到系统上,也可以插入Linux安装光盘在系统提示下进行安装。由于安装过程非常简单,这里就不再赘述了。 12.2 一个简单的例子 先来看一个简单的GTK+图形界面程序的例子,了解这类程序的一般框架。这个程序创建了一个窗口,并在窗口中放置了一个按钮,实现代码如例12-1所示。 例12-1? gtkwin.c #includegtk/gtk.h /*定义回调函数hello,单击按钮时系统自动调用*/ void hello(GtkWidget *widg

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档