Что сделать, чтобы теги стали выделяемыми?
Опишу свою проблему на примере этого простого кода:
from tkinter import *
window = Tk()
txt = Text()
txt.pack()
txt.insert("1.0", "hello hello hello\nhello hello hello\nhello hello hello")
txt.tag_add("tag", "2.6", "2.11")
txt.tag_config("tag", background="yellow", foreground="black")
window.mainloop()
Всё работает отлично...
...до тех пор, пока я не выделю все письмена. По итогу получается, что выделено всё, кроме текста под тегом tag (я знаю, что выделилось-то всё, но текст под тегом не выделился синим). Как это исправить?
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
У тегов есть приоритет.
Ваше правило перекрывает поведение по умолчанию, так как пользовательский тег имеет более высокий приоритет над встроенными тегами.
Если вы понизите приоритет своего тега txt.tag_lower("tag") или повысите приоритет тега sel отвечающего за выделение txt.tag_raise("sel") то получите ожидаемый результат:
from tkinter import *
window = Tk()
txt = Text()
txt.pack()
txt.insert("1.0", "hello hello hello\nhello hello hello\nhello hello hello")
txt.tag_add("tag", "2.6", "2.11")
txt.tag_config("tag", background="yellow", foreground="black")
txt.tag_lower("tag")
window.mainloop()


