Python tkinter: остановка распространения событий в тегах текстовых виджетов

Сейчас я пишу редактор цветовой схемы. Для предварительного просмотра схемы я использую текстовый виджет, куда я вставляю текст с соответствующими цветными тегами (которые я генерирую программно).

То, что я хочу, это следующее поведение:

щелкните в любом месте текстового виджета, где нет текста: измените цвет фонанажмите на текст, вставленный с тегом: изменить теги, соответствующие цвету переднего плана

Сейчас здесьмоя проблема:

Когда я нажимаю на текст с тегом, вызывается обратный вызов тега. Все идет нормально. Но затем вызывается обратный вызов текстового виджета, хотя я возвращаюсьперерыв" в тэгах метод обратного вызова (который должен остановить дальнейшую обработку событий).Как я могу это остановить?

Чтобы проиллюстрировать эту конкретную проблему, я написал этот рабочий пример (для Python 2 & 3):

#!/usr/bin/env python

try:
    from Tkinter import *
    from tkMessageBox import showinfo
except ImportError:
    from tkinter import *
    from tkinter.messagebox import showinfo

def on_click(event, widget_origin='?'):
    showinfo('Click', '"{}"" clicked'.format(widget_origin))
    return 'break'

root = Tk()
text = Text(root)
text.pack()
text.insert(CURRENT, 'Some untagged text...\n')
text.bind('', lambda e, w='textwidget': on_click(e, w))
for i in range(5):
    tag_name = 'tag_{}'.format(i)
    text.tag_config(tag_name)
    text.tag_bind(tag_name, '',
        lambda e, w=tag_name: on_click(e, w))
    text.insert(CURRENT, tag_name + ' ', tag_name)
root.mainloop()

Любая помощь приветствуется!

Изменить: пробовал Python 2, а также.

Ответы на вопрос(2)

Ваш ответ на вопрос