Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
43 lines (31 sloc) 1.37 KB
#########################################################################
# External code to allow insertion of hyperlinks in tkinter text widget #
# Creator: Fredik Lundh #
# Source: http://effbot.org/zone/tkinter-text-hyperlink.htm #
#########################################################################
import tkinter as tk
class HyperlinkManager:
def __init__(self, text):
self.text = text
self.text.tag_config("hyper", foreground="blue", underline=1)
self.text.tag_bind("hyper", "<Enter>", self._enter) #Removed to prevent conflict with pressing Enter to send a message
self.text.tag_bind("hyper", "<Leave>", self._leave)
self.text.tag_bind("hyper", "<Button-1>", self._click)
self.reset()
def reset(self):
self.links = {}
def add(self, action):
# add an action to the manager. returns tags to use in
# associated text widget
tag = "hyper-%d" % len(self.links)
self.links[tag] = action
return "hyper", tag
def _enter(self, event):
self.text.config(cursor="hand2")
def _leave(self, event):
self.text.config(cursor="")
def _click(self, event):
for tag in self.text.tag_names(tk.CURRENT):
if tag[:6] == "hyper-":
self.links[tag]()
return
You can’t perform that action at this time.