簡體   English   中英

如何獲取小部件的名稱Python Tkinter

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM