擅长:python、mysql、java
<p><code>winfo_children()</code>返回与小部件类型相关联的<code>class</code>实例以及tkinter分配给实际tk对象的名称。在</p>
<p>这意味着是的,我们可以引用widget的名称,尽管我不确定除了不需要将标签赋给变量之外,这会给您带来什么好处。在</p>
<pre><code>from tkinter import *
root = Tk()
Label(root, text="Label1").pack()
label2 = Label(root, name="name", text="Label2")
label2.pack()
print(root.winfo_children())
print(root.nametowidget('.!label'))
print(str(label2))
Button(root, text="Delete label2", command=lambda: root.nametowidget(".name").destroy()).pack()
</code></pre>
<p>上述操作将导致窗口中出现两个<code>Label</code>小部件和一个<code>Button</code>小部件。第一个<code>Label</code>没有存储在变量中,但是我们可以很高兴地在print语句中调用它。第二个存储在一个变量中,但是您可以看到在<code>Button</code>的<code>command</code>中,我们引用的不是这个变量,而是<code>Label</code>的name属性。在</p>
<p><a href="https://stackoverflow.com/a/30005893/4528269">Bryan Oakley has a fantastic answer here explaining this.</a></p>