ГДЗ Інформатика 8 клас. Підручник [Бондаренко О.О., Ластовецький В.В., Пилипчук О.П., Шестопалов Є.А.] 2021
01.02.2022,
8 Клас / Інформатика,
42 584,
2
§ 28. Обробники подій
Питання для самоперевірки2. Опишіть алгоритм розробки програми з графічним інтерфейсом на Python.
Основна відмінність програм із графічним інтерфейсом користувача — інтерактивність. Хід виконання таких програми залежить від втручання користувача, який постійно взаємодіє з програмою (натискає кнопки, вводить дані тощо, тобто створює події).
Для того щоб об’єкт міг реагувати на певну подію, слід створити обробник події — блок програмного коду, який виконується в разі настання події, з якою він пов’язаний.
У мові Python обробником події є певна функція.
Як ви вже знаєте, синтаксис опису функції такий:
def <назва_функції>([перелік параметрів])
<тіло функції>
Тіло функції являє собою послідовність операторів, які будуть виконані після викликання функції.
3. У коді конструктора класу поясніть дію команди: super().__init__(width = width, height = height).
Як бачимо, клас SmartButton має конструктор __init__, у першому рядку якого за допомогою спеціального об’єкта super() викликається конструктор базового класу (super().__init__). Це потрібно для того, щоб повністю налаштувати кнопку Button, яка буде основою для SmartButton. Як обробник події їй передається метод self.btn_click.
4. Обговоріть відмінності у застосуванні обробника натискання на кнопку та обробника натискання зазначеної клавіші клавіатури або миші.
Згадаймо, як створити обробник події для віджета класу Button — командної кнопки. Командна кнопка застосовується для того, щоб запустити або завершити певний процес опрацювання даних. Щоб прикріпити до віджета обробник події Натискання на кнопку, необхідно під час створення цього об’єкта в переліку параметрів присвоїти параметру command посилання на функцію, яка виконуватиметься в разі натискання.
Можна зробити так, щоб об’єкт змінював свої властивості у відповідь на натискання певної клавіші клавіатури або миші. Віджет із подією та функцією-обробником пов’язують викликом методу bind()
У такий спосіб один віджет можна пов’язати з кількома подіями.
5. Запишіть оператор виклику для об’єкта lab методу bind() для обробки натискання клавіші зі стрілкою ↓.
lab.bind(("<↓>", button_clicked)
Якщо помітили в тексті помилку, виділіть її та натисніть Ctrl + Enter