在Python中使用鼠标光标悬停在某物上时显示消息
我有一个用TKinter在Python中制作的GUI。我希望能够在鼠标光标移动到标签或按钮上方时显示一条消息。这样做的目的是向用户解释按钮/标签的作用或代表什么。
将鼠标悬停在tkinter对象上时,是否可以显示文本?
-
您需要在
<Enter>
和<Leave>
事件上设置绑定。注意:如果选择弹出窗口(即工具提示),请确保不要将其直接弹出在鼠标下方。因为光标离开标签并进入弹出窗口,将导致离开事件触发。然后,您的请假处理程序将关闭该窗口,您的光标将输入标签,这将导致进入事件,该事件将弹出该窗口,这将导致一个请假事件,该事件将使该窗口消失,从而导致一个enter事件,…
ad无限为简单起见,这是一个更新标签的示例,类似于某些应用程序使用的状态栏。创建工具提示或其他方式来显示信息仍然从绑定到
<Enter>
和的相同核心技术开始<Leave>
。import Tkinter as tk class Example(tk.Frame): def __init__(self, *args, **kwargs): tk.Frame.__init__(self, *args, **kwargs) self.l1 = tk.Label(self, text="Hover over me") self.l2 = tk.Label(self, text="", width=40) self.l1.pack(side="top") self.l2.pack(side="top", fill="x") self.l1.bind("<Enter>", self.on_enter) self.l1.bind("<Leave>", self.on_leave) def on_enter(self, event): self.l2.configure(text="Hello world") def on_leave(self, enter): self.l2.configure(text="") if __name__ == "__main__": root = tk.Tk() Example(root).pack(side="top", fill="both", expand="true") root.mainloop()