Python-关于Tkinter中的绑定标签的基本查询

Python-关于Tkinter中的绑定标签的基本查询,第1张

Python-关于Tkinter中的绑定标签的基本查询

当你对窗口小部件进行绑定时,实际上并没有绑定到窗口小部件本身。当你这样做时

mywidget.bind(...)
,实际发生的是绑定与具有与小部件相同名称的绑定标签相关联。

当检测到事件时,Tkinter首先确定哪个窗口小部件拦截了该事件。该窗口小部件将具有与之关联的零个或多个(默认值:四个)绑定标签的列表。Tkinter将检查每个标签,以查看是否存在与事件匹配的绑定。如果找到一个,它将执行绑定,然后继续执行下一个标记,直到用完标记或绑定的函数之一返回

string
为止
"break"

该序列如下所示:

  1. 你按“ x”键。此时,“ x”尚未插入任何位置
  2. Tkinter获取具有键盘焦点的小部件的绑定标签。
  3. 默认情况下,第一个绑定标签是小部件本身。该标签上有绑定吗?如果是这样,请执行它。例如,你可以打印窗口小部件的内容。因为尚未触发其他绑定,所以“ x”将不属于内容。
  4. 如果绑定的函数返回,”break”则不再进行事件处理。“ x”将不会插入到小部件中。
  5. 如果窗口小部件未返回”break”,则tkinter进入下一个绑定标记。
  6. 默认情况下,下一个绑定标签是小部件类。在与该事件匹配的类上是否存在绑定(按字母“ x”的键)?
  7. 在这种情况下,该类确实具有此事件的绑定,该绑定实际上是将“ x”插入到小部件中。到目前为止,“ x”仍未插入小部件中。但是,在此绑定之后,如果你打印了内容,则会看到“ x”
  8. 以这种方式继续处理,直到所有绑定标签都已处理完毕。
    根据评论部分中正在进行的讨论,似乎还不清楚。我将尝试使其尽可能简单:

是类绑定,它将一个字符从内存中的事件对象复制到窗口小部件,从而使它出现在屏幕上。在类绑定触发之前,角色将不会出现在小部件中。类绑定之后,它将在小部件中。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5629868.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存