Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个TCL/Tk代码是做什么的?_Tcl_Tk - Fatal编程技术网

这个TCL/Tk代码是做什么的?

这个TCL/Tk代码是做什么的?,tcl,tk,Tcl,Tk,我在这里找到了TCL/Tk的饼图菜单代码: 有一行代码我不明白: -command0 {bind .c <Button-1> {}; %W delete __pm; incr cnt} \ -command0{bind.c{};%W delete{uu pm;incr cnt}\ 这是什么意思?我认为会发生这种情况:全局变量cnt递增。所有带有标记_pm的项目都将从画布中删除。如果单击鼠标按钮,所有这些都会发生。 但这并没有真正意义,是吗?如果您实际运行演示,它将演示具有不同数量

我在这里找到了TCL/Tk的饼图菜单代码:

有一行代码我不明白:

-command0 {bind .c <Button-1> {}; %W delete __pm; incr cnt} \
-command0{bind.c{};%W delete{uu pm;incr cnt}\
这是什么意思?我认为会发生这种情况:全局变量cnt递增。所有带有标记_pm的项目都将从画布中删除。如果单击鼠标按钮,所有这些都会发生。
但这并没有真正意义,是吗?

如果您实际运行演示,它将演示具有不同数量按钮的饼图菜单,那么这是有意义的。单击标有“确定”的中央“按钮”将删除饼图菜单。请注意,此中心文本元素是项0
%W
是与触发的Tk事件相关的窗口路径名的缩写。递增
cnt
(计数)将导致创建的下一个饼图菜单具有不同数量的“按钮”元素。

在本例中,它只会解除button-1事件的绑定,移除饼图菜单并递增cnt。由于它绑定到-command0,这可能是菜单最上面部分的操作,而-command1是附加到第一部分的操作。不知道为什么它会增加cnt,就我所见,基本上只是计算饼图菜单的总数。