我的目标是当鼠标移动到标签上时更改标签小部件的文本。对于一个标签,我将执行如下操作:
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循环中使用的项数相同。
事件函数可以包含在类中,用于显示的字符串可以由构造函数定义。
相关问题 更多 >
编程相关推荐