Багаторядкове текстове поле
Багаторядкове текстове поле є об’єктом класу Text. Цей віджет часто зустрічається при заповненні веб-форм. За замовчуванням висота створюваного віджета дорівнює 24 знакомісцям, ширина — 80 знакомісцям, але значення цих властивостей, як і інших, спільних з елементами класів Label і Entry, можна задати при створенні об’єкта. Значення WORD властивості wrap дозволяє переносити слова в полі на новий рядок цілком, а не по буквах.
Приклад:
Створити об’єкт text1 класу Text. 
from tkinter import *
root = Tk()
text1 = Text(width=35, height=6, bg="green", fg='white', wrap=WORD)
text1.pack()
root.mainloop()
Якщо в текстове поле вводиться більше ліній тексту, ніж його висота, то воно саме буде прокручуватися вниз. При перегляді прокручувати вгору-вниз можна за допомогою колеса миші і стрілками на клавіатурі.
Mетоди Text
Основні методи у Text такі ж як у Entry — get (), insert (), delete (). Однак, якщо в разі однорядкового текстового поля було достатньо вказати один індекс елемента при вставці або видаленні, то в разі багаторядкового треба вказувати два — номер рядка і номер символу в цьому рядку (іншими словами, номер стовпця), через крапку.
 
Зверни увагу!
При цьому нумерація рядків починається з одиниці, а стовпців — з нуля.
Щоб вивести в поле об’єкта text1 декілька рядків вірша, слід додати в код оператор присвоєння значення змінній s і викликати для об’єкта text1 метод insert(). Щоб вірш виводився по рядках, слід додати в початок кожного рядка символ перенесення рядка "\n" (рис.1).
Приклад:
s = "Вірш про дружбу \nВ житті усім потрібна дружба: \nІ для розваг, і для журби, \nй для служби. \n Вікторія Остапчук"
text1.insert(1.0, s)
 
83.PNG 
 
Рис.1
 
Отримати з поля віджета text1 ім’я автора вірша.
avtor = text1.get(5.1, 5.18) # avtor = 'Вікторія Остапчук'
Щоб отримати один рядок з поля Text, слід указати допустимий індекс для початку рядка, а потім указати той же індекс з додаванням "lineend" .
Приклад:
s=ext1.get(1.0, "1.0 lineend") # s="Вірш про дружбу"
Якщо треба відкинути в кінці рядка К символів, слід до другого параметру додати "-Кс".
Приклад:
s=ext1.get(2.0, "2.0 lineend - 2c") # відкинуто символи ": "
Щоб отримати весь текст з поля Text, як другий параметр потрібно вказати END.
Приклад:
s=text1.get(1.0, END)
Теги
Особливістю текстового поля є можливість надавати частинам тексту різне оформлення. Для форматування тексту в полі призначені методи tag_add () і tag_config ().
Метод tag_add () додає тег, при цьому треба вказати його довільне ім'я і відрізок тексту, до якого він буде застосовуватися.:
<text>.tag_add(<Назва тегу>, 1.0, '1.end')
Метод tag_config () налаштовує тегу стилі оформлення:
text.tag_config((<Назва тегу>, font=<параметри шрифту>, justify==<параметри вирівнювання>)
Приклад:
Оформити заголовок вірша, задавши параметри шрифта: Arial, напівжирний, 18 кегль; вирівняти рядок заголовка по центру (рис.2)
text1.tag_add('title', 1.0, '1.end')
text1.tag_config('title', font=(" Arial ", 18, 'bold'), justify=CENTER)
84.PNG
 
Рис.2
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2021