我的目標是改變標籤控件的文本時,在label.For一個標籤,鼠標移動,我會做這樣的事情:Python的Tkinter的標籤控件鼠標移到
import Tkinter as tk
def fun1(event):
label.config(text="Haha")
def fun2(event):
label.config(text="Label1")
root=tk.Tk()
label=tk.Label(root,text="Label1")
label.grid(row=1,column=1)
label.bind("<Enter>", fun1)
label.bind("<Leave>", fun2)
root.mainloop()
但現在,我有一個一堆由for循環產生的標籤和一個包含我想要改變的文本的列表。
mylist=['a','b','c','d','e']
for i in range(5):
tk.Label(root,text="Label"+str(i)).grid(row=i+1,column=1)
這將生成5個帶數字的標籤。是否有可能爲每個單獨的標籤添加鼠標懸停事件,以便當我將鼠標懸停在標籤1上時,它將更改爲'a',當我將鼠標懸停到標籤2時,它將更改爲'b'等?僅供參考,mylist中的項目數量將始終與for循環中使用的數量相同。
感謝它的工作!但你能解釋「x = x」是什麼意思嗎? –
@ChrisAung它使用lambda函數迭代的實際'x'。否則,它會爲所有標籤顯示「e」。 –