使用 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) 来更改它的文本吗?我希望上面的转换器函数中的第二个语句起作用。感谢您的帮助。
要使用路径名,请删除 $::
前缀。前缀用于用变量值替换变量名。路径名是命令名,应按原样使用。
我正在使用以下代码从函数中更改标签的文本。为此,我必须为标签使用变量名。
#! /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) 来更改它的文本吗?我希望上面的转换器函数中的第二个语句起作用。感谢您的帮助。
要使用路径名,请删除 $::
前缀。前缀用于用变量值替换变量名。路径名是命令名,应按原样使用。