まず、ボタンを用意し-commandに新しい独立したトップレベルウィンドウを立ち上げる。
新しいウィンドウにはテキストを用意する。
テキストについているスクロールバーの説明はここではしない。
とりあえずつけておいた。
gridはpackとは違って、格子状にウィジェットを並べるための指定ができる。
-sticky nsewはn(上)、s(下)、e(左)、w(右)の全方向に幅をそろえなさいという指定。
-sticky ewだとx方向だけに幅が揃うことになる。
rowconfigureとcolumnconfigureはそれぞれ、横方向に配置された格子のオプションを設定するためのもの、縦方向に配置された格子のオプションを設定するためのもので、後ろにオプションをつける。
これらについてはgrid(2)で触れることにする。
とりあえず、-weightというのは余白を配分するときの割合を指定するもの。
#!/usr/bin/wish
# Make the widgets
pack [button .b1 -text "テキストを開く" -command {
##################################################
toplevel .t
text .t.txt -wrap none -xscroll {.t.h set} -yscroll {.t.v set}
scrollbar .t.v -orient vertical -command {.t.txt yview}
scrollbar .t.h -orient horizontal -command {.t.txt xview}
# Lay them out
grid .t.txt .t.v -sticky nsew
grid .t.h -sticky nsew
# Tell the text widget to take all the extra room
grid rowconfigure .t .t.txt -weight 1
grid columnconfigure .t .t.txt -weight 1
##################################################
}] \
[button .b2 -text "Cancel" -command {exit}] -fill x
.b1 configure -bg purple4 -fg white -bd 4
.b2 configure -bg purple4 -fg white -bd 4
wm geometry . +500+500
プログラムを実行すると、以下の画面。
テキストを開くボタンを押すと、テキストが立ち上がる。
+500+500の位置に.b1のウィンドウが立ち上がっているのが分かる。
続いて、訳の分からぬ呪文を見つけたので書いておく。
どこにも説明が記載されてないので分からなかった。
最後のコメントのところ。
とりあえず、プログラムをコメントで殺してから、実行してみる。
これだけでは何を示したいかわからないけど・・・。
とりあえず、エントリーウィジェットのところはフォーカスすると明るい水色に変わる。
ボタンとエントリとラベルの部分が均等に配置された。
-uniformというくらいだから、何かを統一するのにもっと深い意味があるんだろうけど、ちょっと、何を示しているのかわからなかった。前の"all"との関連があるみたいで、-uniformの部分だけを削除するとerrorを吐いた。



