Урок:

Обробники подій, пов’язаних з елементами керування (Python)

27.02.2024
0 0
Джерела використаної інформації: розкрити закрити
Теоретичний матеріал:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2021
Вміст уроку:
1
2
3
4
5
6

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Опрацюйте теоретичний матеріал:

Хід виконання програм із графічним інтерфейсом залежить від втручання користувача, який взаємодіє з програмою (натискає кнопки, вводить дані тощо, тобто створює події).

Подія — це те, що відбувається, коли користувач взаємодіє з програмою:

  • натиснув кнопку миші,

  • клавішу на клавіатурі,

  • клацнув по кнопці.

Для того, щоб програма відреагувала на подію, слід створити обробник події — блок програмного коду, який виконується при настанні події, з якою він пов’язаний. У Python обробником події є функція.

Функція — іменований блок коду.

Метод — це функція, що пов'язана з певним об'єктом.

Кожна функція має назву і може отримувати певні значення параметрів. У Python функції визначаються за допомогою зарезервованого слова def.

Синтаксис опису функції такий:
def <назва_функції>([перелік параметрів])
<тіло функції>

Тіло функції являє собою послідовність операторів, які будуть виконані після викликання функції.

Елементи керування — це ті речі, з якими людина може взаємодіяти в програмі:

  • Кнопки

  • Поля введення

  • Перемикачі

  • Списки

У Tkinter події реагують на:

👉 command= — для кнопок
👉 .bind() — для подій миші чи клавіатури

Приклади подій

Натискання клавіш:

  • 'х' — коли натиснули клавішу х

  • '<Return>' — натиснули Enter

  • '<Key>' — натиснули будь-яку клавішу

  • '<KeyPress-Up>' — стрілка вгору

  • '<KeyPress-Down>' — стрілка вниз

  • '<KeyPress-Left>' — стрілка вліво

  • '<KeyPress-Right>' — стрілка вправо

📌 Важливо: літери можна писати просто 'х', без кутових дужок.

🖱 Події миші:

  • '<Button-1>' або '<1>' — клік лівою кнопкою

  • '<Button-2>' — клік середньою кнопкою

  • '<Button-3>' — клік правою кнопкою

  • '<Double-1>' — подвійний клік лівою кнопкою

  • '<Motion>' — рух миші

  • '<Enter>' — коли курсор миші зайшов у межі елемента

Коли ми використовуємо .bind(), функція-обробник обов’язково повинна мати один параметр.

Створення обробників подій для об’єктів класу Button

У середовищі Tkinter кнопки створюються за допомогою класу Button.
Кнопка — це елемент керування, який реагує на натискання.

Створення кнопки

btn = Button(window, text="Натисни мене")
  • window — вікно, у якому розміщується кнопка

  • text — напис на кнопці

Але сама по собі кнопка нічого не робить, поки ми не додамо обробник події.

Створення обробника через параметр command

Найпростіший спосіб — використати параметр command.

def action():
    print("Кнопку натиснуто!")

btn = Button(window, text="Натисни", command=action)


Коли користувач натискає кнопку — викликається функція action:

  • У цьому випадку функція не має параметра event.

  • У command ми пишемо назву функції без дужок.

Створення обробника через метод .bind()

Інший спосіб — використати метод .bind().

def action(event):
    print("Ліва кнопка миші натиснута")

btn.bind("<Button-1>", action)

Ми самі вказуємо подію ("<Button-1>").

Функція обов’язково має параметр event.

Через event можна отримати додаткову інформацію.

09015l5k-bbdb-817x327.png

2

4 з 11 балів

Виконайте інтерактивну вправу.

Скрін виконаної вправи прикріпіть до цього завдання.

3

2 з 11 балів

Який варіант правильно описує роботу коду?

09015kx9-ff57-441x53.png

4

1 з 11 балів

Який запис правильно реагує на подвійний клік лівою кнопкою миші?

5

2 з 11 балів

Чому функція-обробник при використанні .bind() повинна мати параметр event?

6

2 з 11 балів

Який запис правильно створює кнопку з обробником через command?

Рефлексія від 13 учнів

Сподобався:

0

Так: 11

Ні: 2

Зрозумілий:

0

Так: 11

Ні: 2

Потрібні роз'яснення:

0

Ні: 12

Так: 1

Рекомендуємо

Обробники подій, пов’язаних з елементами керування

Обробники подій, пов’язаних з елементами керування

481

Аватар профіля Лизько Валентина Степанівна
Інформатика
8 клас

30 грн

8 клас. Урок 40. Обробники подій, пов’язаних з елементами керування (Python)

8 клас. Урок 40. Обробники подій, пов’язаних з елементами керування (Python)

177

Аватар профіля Вітенко Іван
Інформатика
8 клас

26 грн

Елементи вибору: прапорці, перемикачі

Елементи вибору: прапорці, перемикачі

44

Аватар профіля Федотова Наталія Олександрівна
Інформатика
8 клас

25 грн

7 клас. Урок 25. Події з вікном, обробник події (python)

7 клас. Урок 25. Події з вікном, обробник події (python)

287

Аватар профіля Вітенко Іван
Інформатика
7 клас

26 грн

8 клас. Урок 23. Напис: створення, властивості, події, обробники подій (Python)

8 клас. Урок 23. Напис: створення, властивості, події, обробники подій (Python)

207

Аватар профіля Вітенко Іван
Інформатика
8 клас

48 грн

8 клас. Урок 22. Кнопка: створення, властивості, події, обробники подій (Python)

8 клас. Урок 22. Кнопка: створення, властивості, події, обробники подій (Python)

278

Аватар профіля Вітенко Іван
Інформатика
8 клас

48 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1276

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1090

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1335

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

489

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

642

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

267

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас