...再後來重新分配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()
)