python中tk的按键,如何让鼠标放到按键上后,有提示文本
时间: 2024-02-23 11:58:11 浏览: 124
在Tkinter中,可以使用`ToolTip`类来实现鼠标悬浮提示文本的功能。具体实现方法如下:
1. 导入`ToolTip`类:
```
from tkinter import ttk
```
2. 定义`ToolTip`类:
```
class ToolTip:
def __init__(self, widget, text):
self.widget = widget
self.text = text
self.tip_window = None
def show_tip(self):
if self.tip_window or not self.text:
return
x, y, _cx, cy = self.widget.bbox("insert")
x = x + self.widget.winfo_rootx() + 25
y = y + cy + self.widget.winfo_rooty() +25
self.tip_window = tw = tk.Toplevel(self.widget)
tw.wm_overrideredirect(True)
tw.wm_geometry("+%d+%d" % (x, y))
label = tk.Label(tw, text=self.text, justify=tk.LEFT,
background="#ffffe0", relief=tk.SOLID, borderwidth=1,
font=("tahoma", "8", "normal"))
label.pack(ipadx=1)
def hide_tip(self):
tw = self.tip_window
self.tip_window = None
if tw:
tw.destroy()
def createToolTip(widget, text):
toolTip = ToolTip(widget, text)
def enter(event):
toolTip.show_tip()
def leave(event):
toolTip.hide_tip()
widget.bind('<Enter>', enter)
widget.bind('<Leave>', leave)
```
3. 在需要添加鼠标悬浮提示文本的控件上调用`createToolTip`函数,将控件和提示文本传入即可:
```
button = ttk.Button(root, text="Button")
createToolTip(button, "This is a button.")
```
这样,在鼠标悬浮在`button`上时,就会出现提示文本"This is a button."。
阅读全文