ウィジェット(部品)

ラベル

pack [label .l -text ラベル]



ボタン

pack [button .b -text 終了 -command exit]



チェックボタン

frame .f
checkbutton .f.cb1 -text チェック1 -variable check1
checkbutton .f.cb2 -text チェック2 -variable check2
checkbutton .f.cb3 -text チェック3 -variable check3
button .b -text OK -command {
	tk_messageBox -message $check1\n$check2\n$check3
}
pack .f .b
pack .f.cb1 .f.cb2 .f.cb3 -side left
 


ラジオボタン

frame .f
radiobutton .f.rb1 -text ラジオ1 -variable choice -value ラジオ1
radiobutton .f.rb2 -text ラジオ2 -variable choice -value ラジオ2
radiobutton .f.rb3 -text ラジオ3 -variable choice -value ラジオ3
.f.rb1 select
button .b -text OK -command {
	tk_messageBox -message $choice
}
pack .f.rb1 .f.rb2 .f.rb3 -side left
pack .f .b
 


エントリ

VisualBasic の InputBox みたいなものか?
entry .e -textvariable var
button .b -text OK -command {
	tk_messageBox -message $var
}
pack .e .b
 


リストボックス

listbox .l
.l insert end リスト1 リスト2 リスト3
.l selection set 0
button .b -text OK -command {
	tk_messageBox -message [.l curselection]
}
pack .l .b
 


テキスト

text .t -height 6 -width 20
button .b -text OK -command {
	tk_messageBox -message [.t get 1.0 end]
}
pack .t .b
 


スクロールバー

pack [frame .f] -fill both -expand 1
text .f.t  -width 20 -height 6 -wrap no -xscrollcommand {.f.x set} \
	-yscrollcommand {.f.y set}
scrollbar .f.x -command {.f.t xview} -orient horizontal
scrollbar .f.y -command {.f.t yview} -orient vertical
grid .f.t .f.y -sticky news
grid .f.x -sticky news
grid rowconfigure .f 0 -weight 1
grid columnconfigure .f 0 -weight 1

button .b -text OK -command {
	tk_messageBox -message [.f.t get 1.0 end]
}
pack .b
 


スケール

scale .s -label スケール -from 0 -to 100 -variable var \
	-orient horizontal -tickinterval 50 -showvalue true
button .b -text OK -command {
	tk_messageBox -message $var
}
pack .s .b
 


フレーム

frame .f -bd 2 -relief groove -width 100 -height 60
button .f.b1 -text ボタン
button .b2 -text 終了 -command exit
pack propagate .f 0
pack .f .f.b1 .b2



ラベルフレーム

labelframe .f -text グループ -bd 2 -relief groove -width 100 -height 60
button .f.b1 -text ボタン
button .b2 -text 終了 -command exit
pack propagate .f 0
pack .f .f.b1 .b2



メッセージ

message .m -text {あいうえおかきくけこさしすせそたちつてとはひふへほ\
	まみむめも}
pack .m



メニュー

menu .menu
.menu add cascade -label ファイル -menu .menu.file
.menu add cascade -label 編集 -menu .menu.edit
.menu add cascade -label 表示 -menu .menu.view
menu .menu.file -tearoff no
.menu.file add command -label 開く
.menu.file add command -label 保存
.menu.file add command -label 印刷
.menu.file add separator
.menu.file add command -label 終了 -command exit
. configure -menu .menu



Tcl/Tk でも遊んでみる