Інформатика

Безкоштовно

Ніхто не записаний

П107. Опрацювання подій

Прочитайте!

Раніше вже було описано склад, призначення й техноло­гію розміщення об’єктів бібліотеки tkinter у вікнах. Перейде­мо до розгляду методики використання об’єктів графічного інтерфейсу для управління програмою. Описаний склад об’єктів графічного інтерфейсу мови Python фактично є стан­дартом для багатьох мов ООП. Разом із тим, порядок їх роз­міщення у вікнах і методика використання в різних мовах суттєво відрізняється. Зовнішнє діяння на віджет називають подією. У мові Python подій досить багато. Тут розглядаються лише ті, які застосовуються найчастіше.

Події можна розподілити на три основні групи.

Події, що виникають у результаті діяння на мишу. Назви подій цього типу беруться в лапки і знаки <>. Наведемо деякі події:

  • “<Button­1>” — клацання лівою кнопкою миші;
  • “<Button­3>” — клацання правою кнопкою миші;
  • “<Motion>” — рух миші.

Події, що виникають  у  результаті  діяння  на  клавіші.

  • Клавіші букв записуються в  лапках,  наприклад:  “W”. Для неалфавітних клавіш існують спеціальні зарезер­вовані слова. Для клавіш, які натискаються одночасно, також існують спеціальні позначення.

Події, що виникають у результаті зміни властивостей інших об’єктів.

  • Слід чітко усвідомити, що для опрацю­вання тієї чи іншої події попередньо необхідно зв’язати віджет,  над   яким   виконується   діяння,   саму   подію і функцію, яка повинна опрацьовувати цю подію. Їх зв’язування реалізується спеціальними методами, на­приклад методом bind, який нами вже використовувався в програмі.

Приклад 1. Нам відомі назви футбольних команд — чемпіонів України в 2010–2016 роках. Розро­бимо програму, за допомогою якої після уве­дення назви команди виводяться роки, у які вона була чемпіоном країни. Якщо команда не була чемпіоном у цей період, має висвітлювати­ся відповідне повідомлення.

Для реалізації цього завдання викори­стаємо однорядкове текстове поле для вве­дення назви команди, багаторядкове текстове поле для відображення років, кнопку та подію “<Button>”.

Розв’язання

Приклад 2. Банкомат функціонує в спрощеному режимі: після введення ПІН­-коду він може повідомити лише суму вкладу (баланс). Видачу коштів він не реалізує. Розробимо програму моделювання такого режиму роботи банкомата.

Програму моделювання такого режиму ро­боти банкомата можна розробити за допомогою різних об’єктів, подій і методів. Після за­пуску програми в головному вікні висвітиться мітка lb1 із написом ПІН-­код і порожній одно­рядковий текстовий рядок ent для введення ПІН-­коду. Після введення ПІН-­коду слід на­тиснути кнопку Enter. Якщо уведено правиль­ний ПІН­-код (1234), управління буде передано функції func1, у результаті чого з головного вікна будуть видалені мітка й текстове поле, пов’язані,  відповідно,  зі  змінними  lb1 і  ent, і з’явиться кнопка but із написом Баланс.

Програма зупиняє виконання й очікує натиснення цієї  кнопки.  Після  її  натискан­ня   в   головному   вікні   з’явиться   мітка   lb2 із повідомленням: На Вашому рахунку 2000 грн. Якщо уведено неправильний ПІН-­код, про­грама видає повідомлення: Неправильний код, Завершено!

Розв’язання

Приклад 3. Зріст учня Сашка становить 178 см, а зріст учениці Михайлини — 166 см. Розробіть програму, яка видає зріст дитини за її ім’ям.

Приклад 4. У банкомат може вводитися ПІН-­код карт­ки абонента. Для кожного абонента відо­ма загальна сума вкладу й сума останнього надходження. Розробіть програму, за допо­могою якої у випадку правильного уведення ПІН-­коду повідомляється загальна сума вкла­ду й сума останнього надходження. Якщо уведено неправильний ПІН­-код, видається повідомлення Неправильний ПІН-­код. Об­межитися чотирма відомими ПІН­-кодами.

 

0.00 на основі 0 рейтингів

5 зірок
0%
4 зірок
0%
3 зірок
0%
2 зірок
0%
1 зірок
0%