绑定事件将鼠标悬停在for循环中的多个标签上

时间:2016-06-19 10:13:42

标签: python user-interface tkinter

我在for循环中用他们的文本和东西创建了8个标签,我也喜欢为每个标签创建事件(内部循环),这样当用户将鼠标悬停在每个标签上时,它会显示不同的文本

我只需粘贴相关部分:

for index, label in enumerate(labels):
    lab = Tk.Label(self.root, text=label)
    lab_info = PARAMS[label]
    lab.grid(row=index)
    lab.bind('<Enter>', lambda event: self.on_enter(event, lab_info))
    lab.bind('<Leave>', self.on_leave)
    entry = Tk.Entry(self.root)
    entry.grid(row=index, column=1)
    self.entries_dict[label] = entry

def on_enter(self, event, lab_info):
    self.enter = Tk.Label(self.root, text=lab_info, bg='#ffffb3')
    self.enter.grid(row=0, rowspan=3, column=1)

def on_leave(self, event):
    self.enter.destroy()

什么有效:标签被创建,它们按我指定的方式布局,它们具有正确的文本等。

什么行不通:如果我将鼠标悬停在其中任何一个上,则只会打印出最后一个标签的文本。我确定我错过了一些东西,但是我已经盯着这个太久了,而且它变得很烦人

编辑:这是课堂的一部分,这就是为什么所有的自我。*

0 个答案:

没有答案