我正在编写GUI,我想打开具有相同界面和独立的多个窗口。但是当我尝试在一个窗口中输入,而另一个窗口显示相同的内容时,如何使窗口独立?例如:
foreach name {test1 test2} {
namespace eval $name {
variable InputStr
variable wid
proc Display {var} {
variable InputStr
variable wid
set wid .$var
destroy $wid
toplevel $wid
wm title $wid $var
entry $wid.en -textvariable InputStr
pack $wid.en
}
}
${name}::Display $name
}
为什么他们依赖?如何解决这个问题呢?
答案 0 :(得分:2)
给定一个不合格的变量名称,条目小部件假定变量是全局的,并且在两种情况下都使用相同的变量。尝试
entry $wid.en -textvariable [namespace current]::InputStr
或
entry $wid.en -textvariable $var\::InputStr
根据问题中的定义,应该是相同的。