Python tkinter 标签小部件鼠标悬停

标签 python widget tkinter mouseevent

我的目标是当鼠标移到标签上时更改标签小部件的文本。对于一个标签我会做这样的事情:

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 循环中使用的数量相同。

最佳答案

import Tkinter as tk

root = tk.Tk()
mylist = ['a','b','c','d','e']

for i, x in enumerate(mylist):
    label = tk.Label(root, text="Label "+str(i))
    label.grid(row=i+1, column=1)
    label.bind("<Enter>", lambda e, x=x: e.widget.config(text=x))
    label.bind("<Leave>", lambda e, i=i: e.widget.config(text="Label "+str(i)))

root.mainloop()

关于Python tkinter 标签小部件鼠标悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665155/

相关文章:

c++ - 关于列表项及其类设计的看法

php - Wordpress 动态页脚小部件 - 仅当一个小部件存在时才显示第二个小部件区域,否则显示 1

python - 当我在 Connect Four 板上单击形状时,如何使它改变颜色?

python - 如何在 SQLAlchemy ORM 上实现对同一属性的自引用多对多关系?

python - 通过 python 程序将参数传递给 Cygwin

python - 从 PySpark PipelineModel 中的各个阶段访问方法的任何方法?

python - 如何在每个请求上使用 selenium python 轮换各种用户代理

java - 单击小部件按钮时从 MainActivity 调用方法

python - Tkinter <Return> 功能不起作用

python - 尝试将输入到条目小部件中的文本存储到变量中