问题描述
我正在尝试放置一个小标签,以提示用户绑定到它的键盘快捷键,效果很好。
当我离开按钮时会出现问题。标签消失,但不完全消失。如果我尝试单击标签“使用过”的区域中的按钮,它将不会触发,表明它仍然存在。因此,我认为也许按钮已经内置了请假事件,从而将其提升到了最高级别。我决定尝试覆盖它,并基本上告诉按钮转到提示标签hit_button.bind("<Leave>",hit_button.lower(hit_button_keyhint)
下方(或者更好,只是停留在该位置),但无济于事。我在做什么错了?
fg=hit_button['fg'])
hit_button_keyhint.place(relx=0.5,rely=0.85,anchor='center')
hit_button.bind("<Leave>",hit_button.lower(hit_button_keyhint))
解决方法
您需要将一个函数传递给绑定,在这里您将执行一个函数。 (hit_button.lower(hit_button_keyhint)
)
为此,您应该使用lambda。
您可以在此处获得一些说明: Tkinter binding a function with arguments to a widget
但这应该可行:
hit_button.bind("<Leave>",lambda event,k=hit_button_keyhint:hit_button.lower(k)