bindtags(3tk) Tk Built-In Commands bindtags(3tk)

bindtags - 确定对一个窗口提供那些绑定和求值的次序

bindtags window ?tagList?

bind 命令建立的一个绑定,可以关联上一个特定的窗口如 .a.b.c,一个类的名字如 Button,关键字 all,或任何其他字符串。所有这些形式叫做绑定标签(binding tags)。每个窗口包含绑定标签的一个列表,它决定这个窗口如何处理事件。当在一个窗口中发生一个事件,依次把它提供给这个窗口的每个标签: 对于每个标签,执行匹配给定标签和事件的最明确的绑定。匹配处理的详情请参见 bind

缺省的,每个窗口有四个绑定标签,它们依次是这个窗口的名字,这个窗口的类的名字,这个窗口的最近的顶层祖先的名字,和 all。顶层窗口缺省的只有三个标签,因为顶层名字与这个窗口的名字相同。bindtags 命令允许读取和修改一个窗口的绑定标签。

如果只用一个参数调用 bindtags,则把 window 的当前绑定标签的集合作为一个列表返回。如果对 bindtags 指定了 tagList 参数,则它必须是一个正确的列表;把 window 的标签变更为这个列表的元素。tagList 的元素可以是任意的字符串;但是,任何以一个点号开始的标签将被作为一个窗口的名字对待 ;如果在处理一个事件的时候不存在叫这个名字的窗口,则忽略这个事件的这个标签。tagList 中元素的次序决定执行绑定脚本来响应事件的次序。例如,命令

bindtags .b {all . Button .b}
对叫做 .b 的一个按钮颠倒求值绑定脚本的次序,首先调用 all 绑定,接着是 .b 的顶层(“.”)的绑定,随后是类绑定,最后是 .b 的绑定。如果 tagList 是一个空列表则把 window 的绑定标签返回为上面描述的缺省状态。

可以使用 bindtagss 命令来为一个窗口介入任意的补充绑定标签,或则删除标准标签。例如,命令

bindtags .b {.b TrickyButton . all}
.bButton 标签替换为 TrickyButton。这意味着与 Button 标签相关联的按钮的缺省组件绑定,将不在提供给 .b,转而提供与 TrickyButton (可能有一些新的按钮行为)关联的任何绑定。

bind

binding, event, tag

寒蝉退士

2002/05/11

http://cmpp.linuxforum.net

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
4.0 Tk