[英]How to get the name of a widget Python Tkinter
我正在開發一個程序,其中在for循環中創建了一些小部件。 因此,我需要動態獲取它們的名稱。 我設置的是當鼠標進入框架時。 其中包含兩個文本標簽小部件。 我使函數運行。 而且我想用小名noteName更改小部件的背景顏色。 但是我似乎已經陷入停頓,我無法弄清楚。 我已經在網上搜索,但找不到太多。 那么,這里有人知道如何獲取小部件的名稱嗎?
碼:
def get_children_hover(event):
for widgets in event.widget.winfo_children():
#This is here where I can not seem to figure out how to get the widgets name.
有人可以將我推向正確的方向。
winfo_children()是正確的選擇,但是使用錯誤。 這是父小部件的一種方法。 (即根部,框架,畫布等。)
也:
如果順序無關緊要,則可以從children小部件屬性中獲得相同的信息(這是將Tk小部件名稱映射到小部件實例的字典,因此widget.children.values()為您提供了實例列表)。
簡單的例子:
import tkinter as tk
def foo():
print ("Frame:", frm.winfo_children())
print ("Root:", root.winfo_children())
print ("children_values:", root.children.values())
root = tk.Tk()
frm = tk.Frame(root)
tk.Label(root,text="foo").pack()
btn = tk.Button(frm,text="FOOO",command=foo)
frm.pack()
btn.pack()
root.mainloop()
關於您的代碼:
def get_children_hover(event):
for widgets in root.winfo_children(): #assuming your Tk() instance named root
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.