Как применить разные текстовые форматы к разному тексту в виджете python tkinter Text - PullRequest
0 голосов
/ 30 мая 2020

Я пишу код python для создания БОЛЬШОГО ТЕКСТОВОГО РЕДАКТОРА в python моем python текстовом редакторе . У него жирная кнопка и все кнопки форматирования, такие как itali c, fonts et c.

Эти кнопки будут форматировать выделенный текст.

Но проблема всех этих кнопок в том, что Сначала, когда я выделяю выделенный текст жирным шрифтом, он работает нормально, но во второй раз он применяет тот же формат к ранее выделенному тексту

Это мой код для функции жирного и итальянского c:

def boldtxt():
        bldbtn['activebackground']="#ffad33"
        contboxfont['weight']="bold"
        contbox.tag_add("bold",SEL_FIRST,SEL_LAST)
        contbox.tag_config("bold",font=contboxfont)
def italictxt():


itlbtn['activebackground']="#ffad33"
                contboxfont['slant']="italic"
                contbox.tag_add("italic",SEL_FIRST,SEL_LAST)
                contbox.tag_config("italic",font=contboxfont)
contbox=Text()
contbox.pack()
bldbtn=Button(comand=boldtxt)
bldbtn.pack()
itlbtn=Button(command=italictxt)
itlbtn.pack()

Я хочу, чтобы каждое слово (или выбранный элемент был отформатирован в соответствии с пользователем. Например, если нажата полужирная кнопка, выделенный текст должен быть полужирным, а если нажата кнопка itali c, то выделенный текст будет itali c. Заранее спасибо :)

1 Ответ

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

Если вы хотите, чтобы каждое слово было уникально отформатировано, каждое из них должно иметь уникальный тег. В вашем коде все использует тег «полужирный», поэтому, если вы измените тег «полужирный», все слова изменятся. Если вы этого не хотите, каждому слову потребуется свой уникальный тег.

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