Tcl/Tkとは GUIを簡単に作ることのできるインタープリタ言語である。
(Tclはtool command languageの略)
もともとはC言語などで作ったアプリケーション用の組み込み言語として作られたものである。
(Linux用のShadeなどのスクリプト言語として使われている)
最近のUNIXならほとんどの場合インストールされている。
OpenGLなどのためのGUIとしても使用できる。(別にToglなどが必要)
Windows, Mac用もあるので同じプログラムでどのOSでも同じGUIを作ることができる。
ここでは簡単な例によってTcl/Tkがどんなものか雰囲気を感じとって欲しい。
まず、wishコマンドで対話的にボタンのついた簡単なGUIを作ってみる。
Byeというボタンを押すとウインドウが閉じるだけのGUIである。
.bがボタンの名前である。
# wish % button .b -text "Bye" -command "exit" <- wishが起動されているのでプロンプトが%に変っている % pack .b <- packでボタンが現れる # <- Byeボタンを押すとwishが終ってシェルのプロンプトが返ってくる
その1にボタンをもう一つ増やしてコマンド(gimp)をファイル(button.tcl)に書き込んでから実行できるようにしてみよう。
以下のコマンドをbutton.tclに書き込む。
UNIXのコマンドをTcl/Tkから実行するにはexecを使用する。
#!/usr/bin/wish
button .b1 -text "Gimp" -command "exec gimp &"
button .b2 -text "Bye" -command "exit"
pack .b1 .b2
# chmod +x button.tcl # ./button.tcl #
キャンバスを使用すると画像ファイルを表示できるので簡単なビューワーも作ることができる。
以下の例ではred.ppmという画像ファイルを表示している。
imageコマンドでred.ppmを読み込んでimという名前をつけておく。
#!/usr/bin/wish
image create photo im -file "red.ppm"
canvas .c -width 200 -height 200
.c create image 50 50 -image im
button .b -text "Bye" -command "exit"
pack .c .b
次に、canvasコマンドで画像を張り付けるキャンバスを作る。
そのキャンバス(.c)にcreate imageで左上から50 50の位置に画像(im)を張り付ける。
# chmod +x canvas.tcl # ./canvas.tcl #