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`

下面就是運行以後的結果:

相關文章
相關標籤/搜索