Элемент Entry представляет поле для ввода текста. Конструктор Entry принимает следующие параметры:
| 1 | Entry(master, options) |
Где master — ссылка на родительское окно, а options — набор следующих параметров:
- bg: фоновый цвет
- bd: толщина границы
- cursor: курсор указателя мыши при наведении на текстовое поле
- fg: цвет текста
- font: шрифт текста
- justify: устанавливает выравнивание текста. Значение LEFT выравнивает текст по левому краю, CENTER — по центру, RIGHT — по правому краю
- relief: определяет тип границы, по умолчанию значение FLAT
- selectbackground: фоновый цвет выделенного куска текста
- selectforeground: цвет выделенного текста
- show: задает маску для вводимых символов
- state: состояние элемента, может принимать значения NORMAL (по умолчанию) и DISABLED
- textvariable: устанавливает привязку к элементу StringVar
- width: ширина элемента
Определим элемент Entry и по нажатию на кнопку выведем его текст в отдельное окно с сообщением:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

Для вывода сообщения здесь применяется дополнительный модуль messagebox, содержащий функцию showinfo(), которая собственно и выводит введенный в текстовое поле текст. Для получения введенного текста используется комп StringVar, как было описано в одной из предыдущих тем.
Теперь создадим более сложный пример с формой ввода:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |

Методы Entry
Элемент Entry имеет ряд методов. Основные из них:
- insert(index, str): вставляет в текстовое поле строку по определенному индексу
- get(): возвращает введенный в текстовое поле текст
- delete(first, last=None): удаляет символ по индексу first. Если указан параметр last, то удаление производится до индекса last. Чтобы удалить до конца, в качестве второго параметра можно использовать значение END.
Используем методы в программе:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
При запуске программы сразу же в оба текстовых поля добавляется текст по умолчанию:
| 1 2 | name_entry.insert(0, "Tom")surname_entry.insert(0, "Soyer") |
Кнопка Clear очищает оба поля, вызывая метод delete:
| 1 2 3 | def clear():name_entry.delete(0, END)surname_entry.delete(0, END) |
Вторая кнопка, используя метод get, получает введенный текст:
| 1 2 | def display():messagebox.showinfo("GUI Python", name_entry.get() + " " + surname_entry.get()) |
Причем, как видно из примера, нам необязательно обращаться к тексту в Entry через переменные типа StringVar, мы можем это сделать напрямую через метод get.