现在的位置: 首页 > 综合 > 正文

学习使用GTK+ 0.概述

2014年01月26日 ⁄ 综合 ⁄ 共 1925字 ⁄ 字号 评论关闭
文章目录

学习使用GTK+ 0.概述

学习使用GTK+
系列的第 1 篇 (本系列共6篇)

GTK+是当下流行的图形界面库之一,使用GTK+可以方便地构造出应用程序界面。叶子觉得GTK+很好用,在这里推荐给大家,并留下自己的一些使用心得。希望你也喜欢~

 

在Programet这个系列中,你可以看到GTK+通俗的介绍,了解使用方法和常用API,我们希望能对你有所帮助。下面是这个系列的内容线索(本系列不断更新中,这个列表可能随更新而有少量变化

):

  1. 构建GTK+编译环境
  2. GTK+“Hello World”——对GTK+运作机制的通俗介绍
  3. 使用GtkBuilder、界面设计器Glade和其他GTK+组件
  4. GTK+常用物件及API(窗口)
  5. GTK+常用物件及API(文本)
  6. GTK+常用物件及API(按钮)
  7. GTK+常用物件及API(其他)
  8. GLib中的小工具
  9. 使用gettext实现国际化和制作语言包
  10. 【高级主题】使用GDK访问底层屏幕和事件
  11. 【高级主题】使用gtk-pixbuf处理图像和图像文件
  12. 【高级主题】使用GIO中的GSocket访问网络
  13. 【高级主题】使用cairo绘图

上面的列表中并没有“GTK+介绍”一项,因为我要在这篇文章后半部分完成它!

GTK+究竟能做什么

GTK+是图形界面库,能帮助我们简洁方便地绘制窗口和里面的输入框、按钮等等。这能减少我们很多麻烦——有经验的童鞋可能深有体会,图形界面几乎
是应用程序编写中最繁琐的部分。图形界面库就是为了方便我们组织界面而出现的,使用它可以大大减少我们花在组织界面上的代码量。

同时,GTK+可以配合界面设计器Glade,换句话说,做界面不用敲冗长的代码,界面可以画出来!

更重要的是,GTK+是跨平台的。只要代码写得标准,在Windows、Linux和Mac OS下,不用做任何修改就可以展现出同样的界面,方便吧~

GTK+支持的

GTK+是一个开源跨平台的库,支持很多平台,这里就不一一列举了。它遵循LGPL协议,也就是说我们可以自由地使用它,使用它制作的程序可以自行选择开源与否。

GTK+是用C语言编写的,很多GTK+应用程序也使用C语言完成。但如果你讨厌C语言的话,你同样可以选用其他多种语言,包括C++、Java、Python等等,甚至还可以是PHP。而且在各种语言中的API很相似,这让我们在各种语言下玩GTK+变得很方便。

谁在用GTK+

GTK+现在为很多软件所使用,最典型的是Linux桌面环境GNOME和Xfce,包括在它们中运行的众多软件(很多时候GNOME和Xfce软件可以混用,因为他们都是GTK+的)。

还有号称“开源PS”的GIMP、矢量图编辑器Inkscape等等,还有只是使用部分GTK+库(尤其是GLib)的众多软件,还有偷偷拿GTK+代码来用的软件……

与GTK+相似的图形界面库

目前,还有很多流行的图形界面库:

  • MFC——微软的一个C++库,很多人用,但功能落后,也被讽刺为“半成品”。
  • Qt——大红大紫的一个图形界面库,各方面表现都很好。现归属于Nokia。(传说很久很久以前QT和GTK+的支持者喜欢对骂……)
  • WxWidgets——个人认为这个库灰常强大!它在不同操作系统中都可以生成“原生”的界面,甚至不需要运行库!只是有人说不稳定……

还有其他的一些,这里就不提了吧。

毫无疑问的是,GTK+是它们中很有特点的一个。你很难找出第二个C语言图形界面库。GTK+以架构严谨优秀高效著称,是GNU项目的一部分,像是很标准的GNU式的开源项目。它和GNU项目中的其他部分配合良好,遇到麻烦时,常常可以让其他库帮忙。

GTK+的历史与前景

GTK+是1999年开始发展的一个项目,在图形界面库中算很年轻的,但是发展飞速,以至于网络上对其的描述都难以跟上其发展(现在搜索到的很多描述不正确)。GTK+一直由社区维护,但同时又备受众多商业公司青睐,应用领域在不断扩展中。

有关本系列

在这一系列文章中,GTK+原生语言——C语言将被用来举例,其他语言使用方法类似,具体请参见不同语言的文档。这也要求读者能熟练运用C语言。

文章中的例子使用Windows下的GTK+ 2.16(GLib 2.24)编译通过,并特别照顾Windows下的配置、使用,相较而言,在Linux下的配置、使用简单一些。

抱歉!评论已关闭.