如何独立显示多个窗口?

时间:2017-12-15 08:24:00

标签: tcl tk

我正在编写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
}

为什么他们依赖?如何解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

给定一个不合格的变量名称,条目小部件假定变量是全局的,并且在两种情况下都使用相同的变量。尝试

entry $wid.en -textvariable [namespace current]::InputStr

entry $wid.en -textvariable $var\::InputStr
根据问题中的定义,

应该是相同的。