GTK+2.0 でウィンドウを表示するプログラムは次のようになる。
#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 (); } どういうことをやっているかというと、
という簡単なプログラムだ。このプログラム base.c を次のようにしてコンパイルする。 $ gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0` すると、base という実行プログラムができるので次のように入力して実行する。 $ ./base 表示されたウィンドウは、タイトルバーをドラッグして移動させることができる。ウィンドウのサイズ変更も普通の操作でできるし、最小化ボタンや全画面表示ボタンも機能する。自分で一からプログラムすると大変だが、全部 GTK が面倒を見てくれる。 閉じるボタンをクリックするとウィンドウは閉じるが、プログラムはまだ終了しないので、Ctrl + C で強制終了させる。 このように、GTK+でGUIをプログラムすると言っても、GTKの部品をつなぎ合わせるだけだから、プログラム言語特有のものはあまり出てこない。したがって、他のプログラム言語でプログラムしても同じようなプログラムになる。 次のプログラム base.rb は、上のプログラムと同じことを ruby で記述したものだ。Netwalkerでは Ruby は標準ではインストールされていないので、Synapticから Ruby と libgtk-ruby-1.8 をインストールする必要がある。 require 'gtk2' window = Gtk::Window.new window.show_all Gtk.main えらくみじかくなってしまったが、ツールキットの初期化が自動化され、変数の宣言がないだけで、やっていることは一緒だ。
このプログラムを起動するには、端末から次のように入力する。 $ ruby base.rb 当たり前のことだが、最初のプログラムと全くおなじウィンドウが表示され、操作も同じようなことができる。 GTK+のプログラミングは、このように、GTK+の部品をつなぎ合わせるだけなので、学習の焦点は各部品の性質を理解することに集中される。
by tnomura9
| 2009-12-17 08:28
| NetWalker
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||