...再后来重新分配b键另一种数据类型,我怎么访问按钮,这样可以将其删除或以其他方式简称?
简答:你不能。为了引用某些东西,你必须保留一个参考。话虽如此,tkinter提供了一些替代品。 。
如果你想指在回调的按钮,你可以通过它在这需要创建按钮,然后在单独的步骤定义回调:
b = tk.Button(...)
b.configure(command=lambda button=b: do_something)
...
def do_something(button):
print("the widget is:", button)
另外,如果你'使用绑定,当绑定函数被调用时,它将传递一个事件对象,该对象具有包含对该控件的引用的属性。
b.bind("<1>", do_something)
...
def do_something(event):
print("the widget is:", event.widget)
最后,你可以问的Tkinter的子控件(如:root.winfo_children
)的列表,如果你知道你是否用过pack
,place
或grid
,您可以使用slaves
方法来查询所有的一个特定的容器内被管理的窗口小部件(例如:root.grid_slaves()
,root.pack_slaves()
,root.place_slaves()
)