TOC

ウインドウを開きましょう

まず、ウインドウを開きましょう。下のサンプルは、ただウインドウを開くだけのプログラムです。

#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;
}

コンパイルに成功し、実行すると、次のようなウインドウが表示されるはずです。

このプログラムは、本当になにもしないので、終了することもできません。ウインドウを閉じても終了しません。だから、自分で強制終了させる必要があります。実行したターミナルをアクティブにして「Ctrl + c」するか、killコマンドを使用してください。

上のプログラムの解説

一行ずつ説明します。

#include <gtk/gtk.h>

GTK+ を使用するためのヘッダの読み込みです。

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

main関数のはじまり。これはGTKのプログラム特有というものではありません。

  GtkWidget *window;

GtkWidgetというのは、ウインドウを構成する部品のようなものです。

この部分では、「windowという名前の部品を以降使っていく」ということのみの宣言になります。

windowはウインドウとしてあとで定義するのですが、ここではまだ、windowをウインドウとして使用するとはいっていません。

ウインドウを構成する部品は多くの種類があります。それらについては別のページで紹介します。

  gtk_init(&argc,&argv);

GTKのプログラムのはじまりを意味します。cursesのinitscr()のようなものです。

gtk_init()は引数を二つとり、argcとargvに対するポインタが必要となります。上のようにしておけば大丈夫です。

  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);

windowをウインドウとして使用する、ということをここで宣言します。

引数は、「GTK_WINDOW_TOPLEVEL」か、「GTK_WINDOW_POPUP」かの2つをとります。前者は普通のウインドウを作成し、後者はフレームのないウインドウを作成します。

  gtk_widget_show(window);

これまで作成してきたWidgetはgtk_widget_show()によって表示されます。引数はWidgetを指定します。

  gtk_main();

ループがはじまります。これがないと、ウインドウがすぐに閉じて、プログラムが終了してしまいます。

  return(0);

OSに0を返します。

}

終了です。

index / 次へ