Как получить теги из текста в текстовом виджете Tkinter? - PullRequest
0 голосов
/ 07 мая 2020

Я изо всех сил пытаюсь найти какую-либо документацию о том, как вы получаете теги из текста в текстовом виджете Tkinter. У виджета Canvas есть метод gettags(). Я могу представить, что у текстового виджета есть аналогичный метод, но я ничего не могу найти.

Как мне получить список всех тегов, используемых в определенном c диапазоне символов?

1 Ответ

1 голос
/ 07 мая 2020

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

def get_tags(start, end):
    index = start
    tags = []
    while text.compare(index, "<=", end):
        tags.extend(text.tag_names(index))
        index = text.index(f"{index}+1c")

    return set(tags)

Если у вас есть строка с символом 1.0 с тегом «foo», а 1.1 помечен как "bar", тогда get_tags ("1.0", "1.1") вернет ("foo", "bar"), поскольку каждый тег использовался где-то в этом диапазоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...