Tkinter: How to "break" class-event-bindings from within tag-bindings?
Michael Schwarz
Minews at ms6.de
Mon Sep 9 09:01:16 EDT 2002
A "break" as the return value of a tag-event-binding for the
Text-widget seems not to prevent the standard event-handling of the
widget to occur.
This seems to be an error!
How can it be done another (elegant) way?
See the following example:
===
# How can tag-events "break" class-bindings?
from Tkinter import *
def Jump(e):
# Sprung:
targetFrom, targetTo = "3.5", "3.9"
F.Text.tag_remove("sel", "0.0", "end")
F.Text.tag_add("sel", targetFrom, targetTo)
F.Text.mark_set("insert", targetFrom)
return "break" # Doesn't do it !!!
F = Tk()
F.Text = Text(F) # , width=120, height=35, bg="white")
F.Text.pack() # (side="right", fill="both", expand=1)
F.Text.focus_set()
F.Text.insert(INSERT, """\
Link
Jump HERE
""")
F.Text.tag_bind("link", "<1>", Jump)
F.Text.tag_config("link", underline = "on")
F.Text.tag_add("link", "1.0", "1.4")
# Comment the following line and the jump won't do it anymore
# due to the standard class-bindings of the text-widget
F.Text.bind("<1>",lambda e: "break")
F.mainloop()
More information about the Python-list
mailing list