GTK+を使った最小GUIアプリ

GTK+を使ったプログラミングに手を出してみました。

まずはGTK+をインストール
$ sudo apt-get update
$ sudo apt-get install libgtk2.0-dev


#以下はソースコード
$ vim gtk_test.c

/* gtk_test.c */

#include <gtk/gtk.h>
#include<stdlib.h>

int main(int argc, char *argv[]){
GtkWidget *window;

/* GTK+の初期化とオプション解析 */
gtk_init(&argc, &argv);


/* ウィンドウの作成 */
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);


/* ウィンドウの表示 */
/* The GTK_WINDOW_TOPLEVEL argument specifies that we want the window 
  to undergo window manager decoration and placement. */
gtk_widget_show_all(window);


/* メインループ */
/* gtk_main() is another call you will see in every GTK application. 
When control reaches this point, 
GTK will sleep waiting for X events (such as button or key presses), 
timeouts, or file IO notifications to occur. In our simple example, however, events are ignored. */
gtk_main();

exit(0)
}




#GTK+を利用したプログラムをコンパイルした時は、特殊なオプションをつける必要がある。
$ gcc    -o  gtk_test gtk_test.c `pkg-config --cflags --libs gtk+-2.0`"

#毎回このように長いオプションを入力するのは面倒なので以下のようにエイリアスを作成し

$ alias gccgtk="gcc `pkg-config --cflags --libs gtk+-2.0`"
$ gccgtk -o gtk_test gtk_test.c

#プログラムを実行
$ ./gtk_test.c