Главная


24. Виджет Text

Виджет Text - это более обобщенный метод работы с несколькими строками текста, чем виджет Label. Текстовый виджет - это практически полноценный текстовый редактор в окне:

Чтобы создать текстовый виджет в качестве дочернего элемента корневого окна или фрейма с именем 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 вертикальной полосы прокрутки.

>> Индексы виджетов Text