Обробники подій для поля
Як і з іншими об’єктами вікна, з полем можна пов’язати процедури – обробники подій, використовуючи метод bind().
Наприклад, на рис.1 наведено текст проєкту з процедурою – обробником події Click для поля.
 
6.png
Рис.1
 
Ця процедура містить команди:
  • установлення жовтого кольору фону поля;
  • установлення червоного кольору для символів тексту в полі;
  • установлення розміру 12 для символів тексту в полі;
  • виведення тексту, уведеного в полі, у напис;
  • присвоювання змінній х тексту з поля;
  • виведення у вікно повідомлень тексту – значення змінної х, яке є текстом з поля, до якого в кінці додано знак оклику.
Після запуску проєкту на виконання в поле можна ввести довільний текст (на рис.2, а в поле введено текст Працюємо з полем) і вибрати поле. Результат виконання обробника події Click для поля наведено на рис.2,б.
 
7.png
Рис.2
Проєкти з уведенням даних і виведенням результатів
У ході виконання проєктів можна вводити значення вхідних даних і виводити значення результатів.

Для введення значень вхідних даних використовується поле, а для виведення значень результатів можна використовувати поле, напис, вікно повідомлень.

Створимо проєкт, у якому обчислюватиметься сума двох довільних чисел.
Математична модель:
вхідні дані: два довільних числа х і у;
кінцеві результати: їх сума z;
формули: z = x + y.

Для ввеедення доданків у цьому проєкті використано два поля.  Кінцевий результат виводиться в напис. У вікні розміщено кнопку, після вибору якої відбуватиметься додавання введених у поля чисел і виведення суми в напис.

Текст проєкту:
8.png
Рис.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).
 
9.png
Рис.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.