Обробники подій для поля
Як і з іншими об’єктами вікна, з полем можна пов’язати процедури – обробники подій, використовуючи метод bind().
Наприклад, на рис.1 наведено текст проєкту з процедурою – обробником події Click для поля.
Наприклад, на рис.1 наведено текст проєкту з процедурою – обробником події Click для поля.

Рис.1
Ця процедура містить команди:
- установлення жовтого кольору фону поля;
- установлення червоного кольору для символів тексту в полі;
- установлення розміру 12 для символів тексту в полі;
- виведення тексту, уведеного в полі, у напис;
- присвоювання змінній х тексту з поля;
- виведення у вікно повідомлень тексту – значення змінної х, яке є текстом з поля, до якого в кінці додано знак оклику.
Після запуску проєкту на виконання в поле можна ввести довільний текст (на рис.2, а в поле введено текст Працюємо з полем) і вибрати поле. Результат виконання обробника події Click для поля наведено на рис.2,б.

Рис.2
Проєкти з уведенням даних і виведенням результатів
У ході виконання проєктів можна вводити значення вхідних даних і виводити значення результатів.
Для введення значень вхідних даних використовується поле, а для виведення значень результатів можна використовувати поле, напис, вікно повідомлень.
Створимо проєкт, у якому обчислюватиметься сума двох довільних чисел.
Математична модель:
вхідні дані: два довільних числа х і у;
кінцеві результати: їх сума z;
формули: z = x + y.
Для ввеедення доданків у цьому проєкті використано два поля. Кінцевий результат виводиться в напис. У вікні розміщено кнопку, після вибору якої відбуватиметься додавання введених у поля чисел і виведення суми в напис.
Текст проєкту:

Рис.3
Розглянемо наведену процедуру.
Хоча користувач під час виконання проєкту вводить у поля числа, система тим не менше сприймає їх як тексти. Ці тексти є вмістом полів з іменами x = float(entry1.get()) i у = float(entry2.get()) переводять текстове подання чисел безпосередньо в числа і присвоюють ці значення змінним х і у відповідно.
Третя команда додає ці числа та присвоює суму змінній z.
Четверта команда label[‘text’] = str(z) (англ. string – рядок) переводить обчислену суму з числа в його текстове подання та присвоює цей текст значенню властивості text напису з іменем label.
Значення змінних х, у, z, які використані у процедурі, за умовою задачі можуть бути довільними числами, тобто і цілими, і дробовими.
Тому для таких змінних використано тип float.
Під час виконання створеного проєкту користувач уводить у поля два числа (на рис.3 це числа –2,7 і 15,38), вибирає кнопку Сума, і результат (12,68) виводиться в напис.
Не закриваючи вікно виконання проєкту, користувач може ввести в поля інші числа, знову вибрати кнопку Сума та одержати новий результат. І так можна повторювати довільну кількість разів.
Щоб під час виконання проєкту користувачеві було зрозуміліше, у які поля що саме потрібно вводити і де виводитиметься результат, доцільно у вікні розмістити поруч з кожним полем і написом, призначеними для виведення результату, написи з пояснювальними текстами, наприклад, Перший доданок, Другий доданок, Сума (рис. 4).
Зверни увагу!
Під час уведення в поля дробових чисел ціла і дробова частини відокремлюються крапкою.

Рис.4
1. Для виведення значення кінцевого результату (змінна z) можна замість напису розмістити у вікні ще одне поле, наприклад з іменем entry3. І тоді у процедурі команда виведення була б такою: entry3.insert(0, str(z)).
2. Перед використанням у проєкті команди виведення в поле доцільно включати у проєкт команду очищення поля від можливих попередніх результатів виконання проєкту: entry3.delete(0, END).
3. Можна було б також вивести значення змінної z у вікно повідомлень. Тоді команда виведення була б такою: showinfo(‘Результат’, str(z)).
Якщо у проєкті вхідними даними могли би бути тільки цілі числа, то для читання їх з полів можна використати команди
x = int(entry1.get())
у = int(entry2.get())
У проєкті на рис.3 у команді х = entry.get() використана змінна х, значенням якої є текст. Така змінна має тип string.
Джерела:
Інформатика : підруч. для 8-го кл. закл. заг. серед.освіти / Й. Ривкінд та ін. — Київ : Генеза, 2025.