GTK+初识---高大上的图形接口

GTK+,或者是叫作GIMP工具组件,是一套建立图形用户接口的多平台组件.GTK+提供了一套完整的组件集,同时他不单单适用于小型工具开发,一样也适用于一个完整的项目套件.python

像咱们熟悉的gnome桌面,各个系统平台上的GIMP图像处理软件,VMWare工做站,以及OS X和Windows vista上的gedit文本编辑器等都是使用GTK建立的.编程

GTK+是使用C语言写的,可是已经被设计成支持多语言的框架了,例如在Perl和python等中使用GTK+能够快速的建立桌面应用程序.同时,他是使用GObject来实现的,GObject是一个为C所开发的一个面向对象的框架,因此GTK+也是支持面向对象编程的.GTK+是事件驱动的.这套组建对于事件的监听例如对一个按钮的点击,会将事件传递到你的应用程序中去响应.ubuntu

下面咱们搭建一下咱们的开发环境:
首先咱们须要了解的是,GTK+自身是依赖于下面的库的:小程序

​1:Glib
​2:pangp
​3:ATK
​4:GDK
​5:GdkPixbuf
​6:Cairo

下面咱们一一了解一下这些函数库:缓存

Glib是一个经常使用的工具函数库.他提供了一些数据类型,字符串工具,错误通知,消息队列和线程.pango是一种函数库,用来实现国际化和本地化的功能.ATK是一种工具函数包,她提供了建立快捷键的功能.GDK是一种函数库,他为整个GTK+函数图形系统提供了一些底层的”图形实现”和”窗口实现”的方法.GDKPixbuf函数库用于加载图像和维护图像”缓存”. Cairo是用于制做二维图像的函数库.markdown

首先咱们须要在咱们的ubuntu系统中安装GTK+函数库:框架

sudo apt-get install gtk2 gtk2-devel gtk2-devel-docs

其次,咱们须要知道,当咱们写完咱们的程序以后,应该如何编译咱们的程序,那确定好说,直接使用gcc来编译就好了.是的,是使用gcc来进行编译,可是编译的过程当中所须要的函数库的位置咱们应该如何指定呢?下面就会使用到咱们的一款工具”pkg-config”,该工具能够提供各类安装函数库的位置.假如咱们要编译咱们的hello.c程序,咱们就须要这样写:编辑器

gcc -o hello hello.c `pkg-config --libs --cflags gtk+2.0`

注意,最后使用的是反引用号将pkg-config引发的,反引用号就是你的键盘上的在数字”1”左面的那个按键.下面咱们来写一个hello World程序:函数

hello.c工具

#include <gtk/gtk.h>

/* * 最简单的GTK桌面程序 * 仅仅就是生成一个窗口的小小程序 */
int main(int argc,char *argv[]){

    GtkWidget *window;  //
    gtk_init(&argc,&argv);  // 初始化整个GTK+程序,是每个GTK+程序必不可少的部分

    /* * 生成一个构件 -- GtkWindow,这个窗体的种类 * 是GTK_WINDOW_TOPLEVEL,toplevel窗口拥有一个 * 标题栏和边框 */
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  
    gtk_widget_show(window);    //必不可少的,显示构件

    gtk_main();     //进入主循环,等待事件的发生

    return 0;
}

下面咱们使用下面的代码来进行编译:

gcc -o hello helloc. `pkg-config --libs --cflags gtk+2.0`

下面就是运行以后的结果:

相关文章
相关标签/搜索