Tcl/Tk 烹调书 - Tk 基础


Part -II - 第 1 步: 建立 app1

脚本

#!/usr/bin/wish
global b

frame .r -bd 2
wm title . "Change Me"
pack .r
button .r.b -text "Press Me to Quit"  -command {exit}


pack .r.b
set b [.r.b config]            ;# obtain default settings


proc reJig { va a} {

	.r.b config $a $va
	}

这个代码的多数已经在 part-I 中解释了。父框架是".r" 而不是".rc"。窗口的标题变了,当前配置的列表"b"的作用域变了现在被声明为全局的。

注意 Tcl 有一个单一的全局名字空间,在其中包含所有的组件名。所以你不需要声明组件为全局的,你可以在过程中通过给出组件的全名而访问它。 

reJig 接受配置选项的值和相应的新值作为它的输入并调用组件命令 .r.b 来完成"configure" 动作。

建立这个脚本并执行它来看结果:

注意: 如果你执行了这个脚本并且它也运行了,那么不要退出它。当执行 av2 时将需要 av 是活跃的并且设置相互(inter)通信运行(going)。