使用 Tk 中的路径名访问函数中的全局标签

Accessing global label in function using pathname in Tk

我正在使用以下代码从函数中更改标签的文本。为此,我必须为标签使用变量名。

#! /usr/bin/wish8.6

set mylabel [label .a_lab -text "INITIAL TEXT"]
button .a_button -text "Change"     -command changer
pack .a_lab -fill both -expand 1
pack .a_button -fill both -expand 1

proc changer {} {
    # $::mylabel config -text "changed!";# works; 
    $::.a_lab config -text "NEW TEXT!"    ;# does not work; 
    }

wm geometry . 300x200+300+300

我不能只使用它的路径名 (.a_lab) 来更改它的文本吗?我希望上面的转换器函数中的第二个语句起作用。感谢您的帮助。

要使用路径名,请删除 $:: 前缀。前缀用于用变量值替换变量名。路径名是命令名,应按原样使用。