26. Tcl/Tk

目次へ 前の項目へ次の項目へ

長らくRubyプログラミングと付き合ってきましたが、ここらで少し気分を変えましょ う。他にもフリーなプログラミング環境はあります。ここで紹介するTcl/Tk (ティ クルティーケーと読みます) は古くからあるGUIプログラミングツールです。今で もいろいろなところで使用されいますし、Windows や Macintosh でも使用できる ので、人気があります。

時間の都合で基礎から見てみることができませんので、ここでは、スクリプト3)の紹 介にとどめさせていただきますが、自分の環境でもぜひ実行してみてください。

kanji defaultInputCode EUC
text .t0 -width 50 -height 20 -yscrollcommand ".s1 set"
scrollbar .s1 -orient vertical -command ".t0 yview"
frame .f0

menubutton .b0 -text "ファイル" -menu .b0.m0
menu .b0.m0
.b0.m0 add command -label "新規.." -command { .t0 delete 1.0 end}
.b0.m0 add command -label "開く.." -command {
.t0 delete 1.0 end
set F [open [tk_getOpenFile]]
while {[gets $F line]>=0} {.t0 insert end $line\n}
close $F
}
.b0.m0 add command -label "保存" -command {
toplevel .dialog
label .dialog.l0 -text "保存先"
entry .dialog.e0 -background white -textvariable Hozonsaki
button .dialog.b0 -text "OK" -command {
exec touch $Hozonsaki
set fileID [open $Hozonsaki w]
puts $fileID [.t0 get 1.0 end]
close $fileID
destroy .dialog
}
pack .dialog.l0 .dialog.e0 .dialog.b0
}
.b0.m0 add separator
.b0.m0 add command -label "終了" -command {exit}

pack .b0 -in .f0 -side left
grid .f0 -row 0 -column 0 -columnspan 2 -sticky ew
grid .t0 -row 2 -column 0 -sticky nsew
grid .s1 -row 2 -column 1 -sticky ns
grid rowconfigure . 2 -weight 100
grid columnconfigure . 0 -weight 100

これは簡単なテキストエディタです。myedit という名前で保存したら、 実行は、ターミナルで

$ wish myedit &

としてください。wish というのはWIndow SHellの略で、Tcl/Tkを実行す るシェル環境です。スクリプトの長さの割にはきちんとしたエディタができているの がおわかりになるでしょう。

参考文献
3)宮脇大作、「Tcl/Tkで始める簡単GUIプログラミング」Linux Japan, August 1999, pp.126-135.


ページの先頭へ目次へ 前の項目へ次の項目へ