Обрабатывать несколько тегов в текстовом виджете, когда каждый тег добавляет стиль к тексту? - PullRequest
1 голос
/ 09 декабря 2010

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

Я просматривал этот ответ на Расширенное текстовое поле Tkinter , а также код для виджета StyledText , но ни один из них не отвечает на мой вопрос.

Основной способ настройки тегов:

txtWidget.tag_configure("bold", font=my_bold_font)
txtWidget.tag_configure("italic", font=my_italic_font)

Это означает, что вы можете связать один шрифт с одним тегом, но, как представляется, нет никакого способа (на поверхности) связать комбинации тегов со шрифтом.

Лучший способ приступить к созданию события tag_bind для метода, который определит мои комбинации тегов и соответственно назначит шрифт, или есть другой способ?

1 Ответ

2 голосов
/ 09 декабря 2010

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

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