GTK+编程入门(1)—简介与glib库(2015-7-23)
分类:GTK+
一:GTK+简介
GTK+是一个软件开发工具包,其设计目的是支持在 X Window系统下开发图形界面的应用程序。GNU所认定的标准桌面环境GNOME就是用GTK+开发的。
GTK+最初是由美国加利福尼亚大学伯克利分校的两名学生Spencer Kimball和Peter Mattis开发而成的。GTK+的全称为:GIMP Toolkit。其最初是开发GIMP而得名,也是为了开发GIMP而研制的一套图形界面库。它为应用软件提供了一套平台无关的,简单易用的图形界面接口,几乎所有的基本图形界面元素,比如窗口,容器,标签,按钮,编辑框,列表框等。
GTK+是建立于GDK基础上的构件库。GDK是GTK+的底层图形库,GDK封装了与平台相关的函数和系统调用,为GTK+提供了一套与平台无关的开发接口。
GTK+库和GDK库均构建于GNU的重要函数库glib之上。glib库是Linux平台下最常用的C语言库,它具有很好的可移植性和使用性。glib库包含了一些标准应用的新扩展来提高GTK+的兼容性。glib为许多标准的,常用的C语言结构提供了相应的替代物。
在Ubuntu Linux下安装GTK+开发包:
sudo apt-get install libgtk-3-dev
安装DevHelp的参考手册:
sudo apt-get install DevHelp
glib库
glib库是GTK+和GDK所依赖的基础函数库。glib库的编码风格是半面向对象的,即以面向对象的思想设计,以面向过程的语言(C语言)实线。glib库为许多标准的,常用的C语言结构提供了相应的替代物,glib库的标识符使用一个前缀“g”这是一种通行的命名约定。
glib有一套自己的类型系统,与C语言标准类型的对比如下。
C类型 | GLIB类型 |
---|---|
char | gchar |
short | gshort |
long | glong |
int | gint |
int | gboolean |
float | gfloat |
double | gdouble |
unsigned char | guchar |
unsigned short | gushort |
unsigned long | gulong |
unsigned int | guint |
void * | gpointer |
const void * | gconstpointer |
glib还提供了一些宏的定义。这些宏可分为两类,一类是常用宏,另一类是调式宏。
- 常用宏
宏名 |
---|