GTK+学习:概述

简介:



相对于Swing之于Java,C/C++环境下的GUI构建就显得复杂得多。首先就是C/C++语言并没有一个官方的GUI库。于是,第三方类库就如雨后春笋般成长起来。由于C/C++没有Java类似的跨平台性,所以其类库大多也是限定平台的,比如微软的MFC。当然也会有很多能够跨平台的GUI库,比如Qt,比如wxWidget,比如我们这里所要讲解的GTK+。

 
相对于MFC、Qt和wxWidget,GTK+使用面向对象框架的纯C语言编写。这是一个小巧但是功能丝毫没有逊色的GUI类库。Linux下的GNOME环境就是使用GTK+编写的,还有类似于Photoshop的GIMP,更与GTK+有着密不可分的联系。下面先来简单介绍一下GTK+。
 
说起GTK+,首先要先说GIMP。在很多推荐使用自由软件代替商业软件的文章中,大多会提到,使用开源的GIMP代替Photoshop。GIMP 是GNU Image Manipulation Program的缩写,最初是类 Unix 操作系统上的图像处理程序,现在也被移植到了Windows平台。为了简化GIMP的开发,GIMP ToolKit诞生了,这就是GTK。在增加了面向对象的特性之后,它的名字后面添加了一个加号,于是就成为GTK+。
 
GTK+是一个创建图形化用户界面的库,能够运行于类Unix平台、Windows平台和其他设备上。GTK+依赖于下面所列出的几个库:
  • GLib - 一个通用的工具库,并不仅仅用于创建图形用户界面。GLib定义了很多数据类型、宏、文件工具等;
  • Pango - 国际化文字绑定;
  • ATK - 提供图形用户界面交互访问技术的通用接口;
  • GdkPixbuf - 允许从图像数据或者图像文件创建像素缓冲;
  • GDK - 为不同的窗口系统提供的抽象层,提供本地图形接口GTK+间的一个抽象,是平台相关的。如果需要向其他平台上移植GTK+,只需要重新编写GDK;
  • GTK - GTK+库,提供了各种控件。
我们对GTK+的学习仅仅为了使用GTK+,不会过多的纠缠这些库的使用。

本文转自 FinderCheng 51CTO博客,原文链接:http://blog.51cto.com/devbean/107774





相关文章
|
Unix Linux 定位技术
01 QT - 概述
01 QT - 概述
79 0
|
开发者 Python
Python Qt GUI设计:信号与槽的使用方法(基础篇—7)
Python Qt GUI设计:信号与槽的使用方法(基础篇—7)
Python Qt GUI设计:信号与槽的使用方法(基础篇—7)
|
8月前
|
监控 网络安全 数据库
第一章 专用工具和实用程序概述
第一章 专用工具和实用程序概述
50 1
|
8月前
|
网络协议 Linux 数据库
QT 概述
QT 概述
109 0
|
Linux API 调度
QT入门基础(一)
QT入门基础(一)
|
存储 XML 安全
GTK入门
GTK入门
336 0
|
存储 编译器 C语言
C++学习:从基础到QT实现
C++学习:从基础到QT实现
|
存储 消息中间件 设计模式
win32概述及框架
win32概述及框架
345 0
|
Python
Qt for Python的4种基础布局管理
Qt for Python的4种基础布局管理
243 0
Qt for Python的4种基础布局管理