首页 > 解决方案 > event.widget 引用是什么意思,如何使用它来访问小部件

问题描述

self.root.bind_all("", lambda e: self.focus(e))绑定的小部件在小部件获得焦点时通过 e.widget 返回一个小部件引用,例如“ .!entry2 ”。

我在任何地方都找不到如何使用这个符号来识别或访问特定的小部件。我确信它可以完成,否则报告价值将无用。

如何使用“.!entry2”访问相关的小部件?

标签: pythontkintereventsfocusin

解决方案


我在任何地方都找不到如何使用这个符号来识别或访问特定的小部件。

它不识别小部件,它小部件。

如何使用“.!entry2”访问相关的小部件?

你不需要。您所看到的只是小部件的字符串表示形式。虽然您可以使用它来查找小部件实例,但没有任何理由,因为您只会取回已经拥有的相同内容。

(Pdb) print(event.widget)
.!entry2
(Pdb) type(event.widget)
<class 'tkinter.Entry'>
(Pdb) root.nametowidget(".!entry2") is event.widget
True

如果你想在小部件上调用一个方法,你可以直接在event.widget- 例如:event.widget.insert("end", "Hello, world")


推荐阅读