gpt4 book ai didi

widget - 如何从小部件取消绑定(bind)默认绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 11:38:59 25 4
gpt4 key购买 nike

我很难理解如何取消绑定(bind)事件。

我知道解除绑定(bind)的基础知识

bind .c <Up> {magic code}
bind .c <Up> {}

我真的很想知道如何从预绑定(bind)的小部件中删除绑定(bind)。

例如,文本小部件带有用于向上移动的向上键键,我该如何删除它?因此,当用户按下该键时,什么也不会发生。

有没有办法从小部件中删除所有绑定(bind)? (没有粒子原因只是想知道。)

而且我读到这应该可以解除绑定(bind)单个绑定(bind)

 bind all <Up> {}

(“向上”是 OS X 的向上箭头键)

但它不适合我。 :(

抱歉,如果这看起来像是一个愚蠢的问题,但 bind 最近一直在绊倒我。先感谢您。

最佳答案

Tk 有不同的绑定(bind)类(称为“bindtags”),它将其绑定(bind)附加到。默认情况下,每个小部件都有:

  1. 与小部件同名的绑定(bind)标签。这些是应用程序代码的常规代码。
  2. 与小部件类同名的绑定(bind)标签(例如,Button 代表按钮,Canvas 代表 Canvas )。这些通常留给 Tk 的默认值;从此处删除内容可能会破坏代码的其他部分。
  3. 与包含小部件的顶层同名的绑定(bind)标签(顶层除外)。这些用于每个对话的热键之类的东西。
  4. 全局绑定(bind)标签,all。这些处理一些“后备”事情,但通常不使用。

每个绑定(bind)标签最多只使用一个绑定(bind); Tk 更喜欢使用最具体的。

从一个绑定(bind)标签中删除一个绑定(bind)并不意味着该事件将不会被处理;另一个绑定(bind)标签上的绑定(bind)可能仍会拾取它。试图绕过其他绑定(bind)标签来欺骗代码是不会令人满意的。但是,如果一个标签上的绑定(bind)以 break 结束,它会阻止尝试进一步的绑定(bind)标签;它提前终止处理。这使得屏蔽特定事件变得容易:

bind .c <Up> break

Tk 在其内部的一些地方使用了这种掩蔽技巧......

关于widget - 如何从小部件取消绑定(bind)默认绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com