core-extra/coretk/coretk/tooltip.py
2019-11-07 22:00:46 -08:00

36 lines
948 B
Python

import tkinter as tk
class CreateToolTip(object):
"""
Create tool tip for a given widget
"""
def __init__(self, widget, text="widget info"):
self.widget = widget
self.text = text
self.widget.bind("<Enter>", self.enter)
self.widget.bind("<Leave>", self.close)
self.tw = None
def enter(self, event=None):
x, y, cx, cy = self.widget.bbox("insert")
x += self.widget.winfo_rootx()
y += self.widget.winfo_rooty() + 32
self.tw = tk.Toplevel(self.widget)
self.tw.wm_overrideredirect(True)
self.tw.wm_geometry("+%d+%d" % (x, y))
label = tk.Label(
self.tw,
text=self.text,
justify=tk.LEFT,
background="#ffffe6",
relief="solid",
borderwidth=1,
)
label.pack(ipadx=1)
def close(self, event=None):
if self.tw:
self.tw.destroy()