初識 GTK

一、什麼是GTK+

    GTK+ 是一種函數庫是用來幫助製作圖形交互界面的。整個函數庫都是由C 語言來編寫的。 GTK+函數庫通常也叫做 GIMP 工具包。因爲,一開始GTK+是用來編寫“GIMP”–這個圖形處理軟件的。從那以後, GTK+就逐漸成爲了Linux and BSDUnix 下最受歡迎的用於圖形交互界面(GUI)設計的工具包之一。時至今日,大多數的Linux 下的GUI 軟件(有圖形交互界面)都是由GTK+或者QT 來編寫的。GTK+是一種面向對象式的API(applicationprogramming interface)。Glib 是GTK+的基礎,而這種“面向對象系統”正是由“Glib”來提供的。GObject 也就是這種面向對象的機制可以爲 GTK+綁定很多種開發語言。目前存在的語言有:C++, Python, Perl, Java, C#,PHP,等其他高級語言。
GTK+ 和以下“函數庫”存在着依賴關係
   • Glib
   • Pango
   • ATK
   • GDK
   • GdkPixbuf
   • Cairo
   Glib 是一種通用的函數庫。她提供了各種各樣的語言特性,譬如說:各種數據類型,字符串函數,錯誤通知,消息隊列和線程。Pango 是一種函數庫,用來實現國際化和本地化的功能。ATK是一種平易近人的工具函數包,她提供了快捷鍵服務爲肢體有缺陷的人使用電腦提供了便利。GDK 是一種函數庫,她爲整個GTK+圖形庫系統提供了一些底層的“圖形實現”和“窗口實現”的方法。在Linux 中GDK 是位於X 服務器和GTK+函數庫之間的。在最近的GTK+發行版本中,越來越多的功能性函數,都交給了Cairo 函數庫來處理。GdkPixbuf 函數庫是一種函數庫工具包用於加載圖像和維護圖像“緩存”的(pixel buffer)。Cairo 是一種函數庫用於製作二維圖像。從GTK+2.8 版本以後,Cairo 就正式成爲GTK+系統中的一員了。Gnome and XFce 桌面環境系統都是用GTK+來編程實現的. SWT and wxWidgets 是種很著名的編程框架,也是用GTK+來編程實現的。最傑出的GTK+軟件的代表是Firefox (火狐瀏覽器)和 Inkscape。

二、安裝GTK+開發環境

1. 安裝code::blocks
  linux:  http://www.codeblocks.org/downloads/26#linux64 我下載的是centos版的
  windows:  http://www.codeblocks.org/downloads/26#linux64 可直接選擇帶minGW的版本

2.安裝GTK+(YUM安裝)

  linux:  

yum install gtk2 gtk2-devel gtk2-devel-docs

  windows:
     http://www.gtk.org/download/win32.php 下載all-in-one bundle 安裝即可

3.配置code::blocks中的GTK+編譯器
  現在安裝了gtk後,可以用pkg-config –list-all 查看,其中應該包含一個gtk+-2.0.
  在code::blocks中 默認的編譯器是GNU GCC Compiler,我們爲 GTK單獨設置一個編譯器:
  Settings -> Compiler settings ,選擇GNU GCC Compiler 然後點擊 copy ,輸入一個gtk編譯器的名稱:GUN GCC Compiler GTK2.0,並設置爲默認編譯器,點擊 set as default .然後在 Compiler settings -> Other options -> 添加`pkg-config –cflags gtk+-2.0`(目的是添加include),在linker settings -> Other linker options 中也添加 pkg-config –libs gtk+-2.0`(目的是添加lib),如果在windows下運行時候可能會報錯,如果缺少zlib1.dll ,放在 工程/bin/Debug下即可。

 

4.測試一下環境是否正確
 在codeblocks中新建一個工程,選擇上面新添加的編譯器(GUN GCC Compiler GTK2.0),然後在main.c中添加代碼:

#include <gtk/gtk.h>
int main( int argc, char *argv[])
{
    GtkWidget *window;
    gtk_init(&argc, &argv);
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_show(window);
    gtk_main();
    return 0;
}


編譯並執行出現一個空白窗體(linux下在命令行下執行),即代表gtk+的開發環境配置成功了。順便說下可以直接用gcc命令行生成:
gcc -o hello-world main.c  `pkg-config –cflags –libs gtk+-2.0`

下面是在windows 7 和 linux(centos) 下的效果

 

 

轉自:http://www.cnblogs.com/ikodota/archive/2013/03/08/step_by_step_study_gtk_opening.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章