Виджет Text - это более обобщенный метод работы с несколькими строками текста, чем виджет Label. Текстовый виджет - это практически полноценный текстовый редактор в окне:
Вы можете комбинировать текст с различными шрифтами, цветами и фонами.
Вы можете чередовать встроенные изображения с текстом. Изображение рассматривается как один символ. См. Раздел 24.3, "Изображения виджета Text".
Индекс (index) - это способ описания определенной позиции между двумя символами текстового виджета. См. Раздел 24.1, "Индексы виджетов Text".
Текстовый виджет может содержать невидимые объекты mark между позициями символов. Смотрите Раздел 24.2, "Метки виджета Text".
Текстовые виджеты позволяют задавать имена для областей текста, называемых тегами (tags). Вы можете изменить внешний вид области с тегом, изменив ее шрифт, цвета переднего и заднего плана и другие параметры. См. Раздел 24.5, "Теги виджета Text".
Вы можете привязать события к области с тегом. См. раздел Раздел 54, "События".
Текстовый виджет можно встроить в "окно", содержащее любой виджет Tkinter - даже фреймовый виджет, содержащий другие виджеты. Окно также рассматривается как один символ. Смотрите Раздел 24.4, "Окна виджетов Text".
Чтобы создать текстовый виджет в качестве дочернего элемента корневого окна или фрейма с именем parent:
w = tk.Text(parent, option, ...)
Конструктор возвращает новый виджет Text. Опции включают:
Таблица 33. Опции виджета Text
autoseparators |
Если установлена опция undo, опция autoseparators управляет тем, будут ли разделители автоматически добавляться в стек отмены после каждой вставки или удаления (если autoseparators=True) или нет (если autoseparators=False). Обзор механизма отмены см. в Раздел 24.7, "Стек отмены/повтора виджета Text". |
bg или background |
Цвет фона по умолчанию для текстового виджета. См. раздел Раздел 5.3, "Цвета". |
bd или borderwidth |
Ширина границы вокруг текстового виджета; смотрите Раздел 5.1, "Размеры". По умолчанию это два пикселя. |
cursor |
Курсор, который будет появляться при наведении мыши на текстовый виджет. См. раздел Раздел 5.8, "Курсоры". |
exportselection |
Обычно текст, выделенный в текстовом виджете, экспортируется в качестве выделения в оконный менеджер. Установите exportselection=0, если вы не хотите такого поведения. |
font |
Шрифт по умолчанию для текста, вставляемого в виджет. Обратите внимание, что вы можете использовать несколько шрифтов в виджетах, используя теги для изменения свойств некоторых текстов. См. раздел Раздел 5.4, "Шрифты". |
fg или foreground |
Цвет, используемый для текста (и битмапов) в виджете. Вы можете изменить цвет для областей с тегом; эта опция используется по умолчанию. |
height |
Высота виджета в строках (не пикселях!), измеряемая в соответствии с текущим размером font. |
highlightbackground |
Цвет выделения фокуса, когда текстовый виджет не имеет фокуса. Смотрите Раздел 53, "Фокус: маршрутизация ввода с клавиатуры". |
highlightcolor |
Цвет подсветки фокуса, когда текстовый виджет имеет фокус. |
highlightthickness |
Толщина выделения фокуса. По умолчанию 1. Установите highlightthickness=0, чтобы подавить отображение подсветки фокуса. |
insertbackground |
Цвет курсора вставки. По умолчанию - черный. |
insertborderwidth |
Размер трехмерной границы вокруг курсора вставки. По умолчанию 0. |
insertofftime |
Количество миллисекунд, в течение которых курсор вставки будет выключен во время цикла мигания. Установите этот параметр на ноль, чтобы подавить мигание. По умолчанию равно 300. |
insertontime |
Количество миллисекунд, в течение которых курсор вставки находится в режиме мигания. По умолчанию 600. |
insertwidth |
Ширина курсора вставки (его высота определяется самым высоким элементом в его строке). По умолчанию 2 пикселя. |
maxundo |
Эта опция задает максимальное количество операций, сохраняемых в стеке отмены. Обзор механизма отмены см. в Раздел 24.7, "Стек отмены/повтора виджета Text". Установите значение -1, чтобы указать неограниченное количество записей в стеке отмены. |
padx |
Размер внутренних отступов, добавляемых слева и справа от текстовой области. По умолчанию - один пиксель. Возможные значения см. в Раздел 5.1, "Размеры". |
pady |
Размер внутренних отступов, добавляемых над и под текстовой областью. По умолчанию - один пиксель. |
relief |
Трехмерный вид текстового виджета. По умолчанию relief=tk.SUNKEN; другие значения см. в Раздел 5.6, "Стили рельефа". |
selectbackground |
Цвет фона, который будет использоваться для отображения выделенного текста. |
selectborderwidth |
Ширина границы вокруг выделенного текста. |
selectforeground |
Цвет переднего плана для отображения выделенного текста. |
spacing1 |
Эта опция определяет, сколько дополнительного вертикального пространства будет помещено над каждой строкой текста. Если строка переносится, то это пространство добавляется только перед первой строкой, которую она занимает на экране. По умолчанию 0. |
spacing2 |
Эта опция указывает, сколько дополнительного вертикального пространства добавлять между отображаемыми строками текста, при переносе логической строки. По умолчанию 0. |
spacing3 |
Эта опция определяет, сколько дополнительного вертикального пространства будет добавлено под каждой строкой текста. Если строка переносится, это пространство добавляется только после последней строки, которую она занимает на экране. По умолчанию 0. |
state |
Обычно текстовые виджеты реагируют на события клавиатуры и мыши; установите state=tk.NORMAL, чтобы добиться такого поведения. Если вы установите state=tk.DISABLED, текстовый виджет не будет реагировать, и вы также не сможете программно изменять его содержимое. |
tabs |
Эта опция управляет тем, как символы табуляции позиционируют текст. Смотрите Раздел 24.6, "Установка табуляции в виджете Text". |
takefocus |
Обычно фокус посещает текстовый виджет (см. Раздел 53, "Фокус: маршрутизация ввода с клавиатуры"). Установите takefocus=0, если вы не хотите, чтобы фокус находился в виджете. |
undo |
Установите этот параметр в True, чтобы включить механизм отмены, или False, чтобы отключить его. Смотрите Раздел 24.7, "Стек отмены/повтора виджета Text". |
width |
Ширина виджета в символах (не пикселях!), измеряемая в соответствии с текущим размером шрифта. |
wrap |
Эта опция управляет отображением слишком длинных строк. При поведении по умолчанию, wrap=tk.CHAR, любая слишком длинная строка будет прервана на любом символе. Установите wrap=tk.WORD, и строка будет разорвана после последнего слова, которое поместится. Если вы хотите иметь возможность создавать строки, которые слишком длинны, чтобы поместиться в окне, установите wrap=tk.NONE и обеспечьте горизонтальную полосу прокрутки. |
xscrollcommand |
Чтобы сделать текстовый виджет горизонтально прокручиваемым, установите эту опцию в метод .set горизонтальной полосы прокрутки. |
yscrollcommand |
Чтобы сделать текстовый виджет вертикально прокручиваемым, установите эту опцию в метод .set вертикальной полосы прокрутки. |