Получить все теги, связанные с виджетом tkinter Text?

Мне интересно, как получить все теги в виджете Text за один раз. Допустим, это мое содержимое:


(Предполагая, что каждый раз, когда я вставляю ("tag", text), я имею в виду, что text имеет тег tag .)

("keyword", print) ("string", "Hello world!")
("keyword", print) ("string", "You are"), ("support", raw_input())


Теперь допустим, что это мой код для каждого тега:

self.text.tag_config('keyword', foreground="orange")
self.text.tag_config('operator', foreground="blue")
self.text.tag_config('number', foreground="red")
self.text.tag_config('string', foreground="red")
self.text.tag_config('support', foreground="blue")
self.text.tag_config('comment', foreground="violet")
self.text.tag_config('error', background="red")
self.text.tag_config('warning', background="yellow")

Теперь есть ли какая-либо функция/константа для получения только тегов, которые в настоящее время находятся в моей строке? Он сообщит ['keyword', 'string', 'support'].

(Примечание: в основном я просто думаю об этом, потому что мне любопытно. Это не конец света, если его нет. :P)

Обратите внимание: второй блок кода был написан на Python, и я надеюсь получить ответ на Python. :)


person Aqua the SeaWing    schedule 16.01.2015    source источник
comment
Вам нужен список всех имен тегов, связанных с определенным виджетом Text? Или все теги, которые в данный момент активны в виджете?   -  person    schedule 16.01.2015


Ответы (1)


Из мой любимый справочник по tkinter

.tag_names (индекс = нет)

Если вы передаете аргумент индекса, этот метод возвращает последовательность всех имен тегов, связанных с символом после этого индекса. Если вы не передадите аргумент, вы получите последовательность имен всех тегов, определенных в текстовом виджете.

.tag_ranges(tagName) перечисляет индексы, в которых используется конкретный тег.

person Terry Jan Reedy    schedule 16.01.2015
comment
Прохладный! Кроме того, я тоже использую эти референсы. :) - person Aqua the SeaWing; 17.01.2015