Dar*_*nja 3 bind tk-toolkit tcl widget
我很难理解如何取消绑定事件.
我知道基本解除你自己的绑定
bind .c <Up> {magic code}
bind .c <Up> {}
Run Code Online (Sandbox Code Playgroud)
我真的想知道如何从预绑定小部件中删除绑定.
例如,Text小部件带有向上移动的向上键,我该如何删除它?因此,当用户点击密钥时,没有任何事情发生.
有没有办法从小部件中删除所有绑定?(没有粒子理由只是想知道.)
而且我读到这应该有效,因为解除绑定
bind all <Up> {}
Run Code Online (Sandbox Code Playgroud)
("向上"是OS X的向上箭头键)
但它不适合我.:(
对不起,如果这看起来像一个愚蠢的问题,但绑定最近一直在绊倒我.先感谢您.
Tk有不同的绑定类(称为"bindtags"),它附加了它的绑定.默认情况下,每个小部件都有:
Button用于按钮,Canvas用于画布).这些通常留给Tk的默认值; 从这里删除东西可能会破坏代码的其他部分.all.这些处理一些"逆止"的东西,但通常不使用.最多只使用一个来自每个结合标签的结合; Tk更喜欢使用最具体的一个.
从一个绑定标签中删除绑定并不意味着不会处理该事件; 另一个绑定标签上的绑定可能仍会接收它.试图破解其他绑定标签以欺骗代码并不会令人满意.但是,如果一个标签上的绑定以a结束break,则会阻止进一步尝试绑定标记; 它提前终止处理.这样可以轻松屏蔽特定事件:
bind .c <Up> break
Run Code Online (Sandbox Code Playgroud)
Tk在自己内部的几个地方使用这种掩蔽技巧......