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

时间:2017-11-02 05:55:13

标签: label tcl 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)来更改其文本?我想在上面的转换器函数中使用第二个语句来工作。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

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