You are here

위젯 destroy 후 다시 활성화 했을때 위젯 변수 초기화 방법

아래 질문 들였던 현상 코드 임의 생성하였습니다. 조언 부탁드립니다. ㅠ.ㅠ

아 그리고 추가로 질문드리면 위젯 각 커맨드에서 위젯 관련 변수를 사용할때 글로벌로 지정해야 정상 동작하는거 같은데

원래 그런가요 아니면 제가 잚 못 사용하고 있는 것인가요 ?

#!/usr/bin/wish

proc listB { ww } {

global w

set w $ww

toplevel $w
entry $w.filterName -textvariable filterXname -width 10
button $w.exitBt -text "Exit" -width 33 -height 2 -command { destroy $w }
button $w.inputBt -text "Input" -width 10 -height 1 -command { lappend drList $filterXname }
listbox $w.listBox -listvariable drList -width 33 -height 10 -yscrollcommand { $w.listYscr set }
scrollbar $w.listYscr -orient vertical -command { $w.listBox yview }

grid $w.filterName -row 0 -column 0 -columnspan 2 -sticky ew
grid $w.inputBt -row 0 -column 2
grid $w.listBox -row 1 -column 0
grid $w.listYscr -row 1 -column 1 -sticky sn
grid $w.exitBt -row 2 -column 0 -columnspan 2

wm title $w "List Box"
wm withdraw .
raise $w

}

toplevel .maIn
button .maIn.listBt -text "TestList" -width 33 -height 2 -command { listB ".dl" }
button .maIn.exitBt -text "Exit" -width 33 -height 2 -command { exit }

grid .maIn.listBt
grid .maIn.exitBt

wm title .maIn "Main Test"
wm withdraw .
raise .maIn