Інформація про новину
  • Переглядів: 1714
  • Дата: 6-10-2021, 18:40
6-10-2021, 18:40

55. Використання вікон повідомлень в Python

Категорія: Інформатика





Попередня сторінка:  54. Уведення даних в програму на Python
Наступна сторінка:   56. Використання перемикачів та прапор...

Зручним засобом представлення даних є вікна повідомлень, виведення яких здійснюється при виконанні програмного коду. Саме з тим, як закодувати вікна повідомлень, ми і познайомимося далі.

Вікна повідомлень бувають різних типів. Тип вікна залежить від значка, що в ньому розташований, та наявних у ньому кнопок. Це можуть бути вікна, що містять запитання, вікна, що повідомляють про помилку, а також інформаційні вікна, що позначаються відповідними піктограмами (рис. 55.1).

Програмний код для виведення вікна повідомлення має таку загальну конструкцію:

Так, наприклад, для виведення вікна, представленого на рис. 55.2, буде використано такий код: x=showinfo("Вітання"3 "Ви зареєстровані!").

Для виведення вікон повідомлень, використовують модуль messagebox вбудований до tkinter. Отже, для використання в програмі таких вікон ми маємо спочатку імпортувати цей модуль.

Це можна виконати з допомогою наступного коду:

У таблиці 55.1 наведено можливі види вікон повідомлень.

Таблиця 55.1. Види вікон повідомлень

З таблиці видно, що вид вікна залежить від вибору функції. Натиснення тієї чи іншої кнопки, що буде відображена у вікні, призводить до надання змінній відповідного значення, наведеного в останньому стовпчику. Більш детально використання вікон повідомлень розглянемо, виконавши завдання вправи.

ВПРАВА 55.1

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

Створення графічного інтерфейсу

Створіть графічний інтерфейс вікна програми відповідно до зразка (рис. 55.3).

1. Уведіть команди імпорту модулів tkinter та tkinter.messagebox.

2. Додайте команди створення графічного вікна із заголовком Тренажер та з розмірами 250x180.

3. Додайте команди для виведення порожнього напису Lbl, у якому буде відображено приклад, та текстового поля Ent для введення результату обчислення.

4. Додайте команди розташування у вікні кнопок Перевірити та Наступний приклад, надайте їм імена btn1 та btn2 відповідно.

5. Додайте команди створення написів, у яких буде виводитися статистика виконання обчислень, а саме, кількість прикладів, кількість правильних відповідей та кількість помилок.

З даного коду видно, що в момент завантаження графічного вікна кількість прикладів буде 1, оскільки при завантаженні вікна відразу буде виведено перший приклад. А кількість правильних та неправильних відповідей на початку буде дорівнювати 0.

Створення прикладу

6. Виконайте зміни у блоці формування прикладу. Для цього змінній а надайте значення першого доданка, що є цілим випадковим числом у проміжку від 10 до 99. Аналогічно змінній b надайте значення другого доданка. У написі Lbl сформуйте приклад, що складається з цих двох доданків.

7. Оскільки у програмі використовується функція створення випадкових чисел, додайте на початку програми команду імпорту модуля random.

Обробник події кнопки Перевірити

8. Сформуйте обробник події натискання кнопки Перевірити. Для цього введіть такий код:

Перший рядок обробника події перевіряє, чи дорівнює значення, введене до текстового поля Ent, сумі значень змінних а і Ь. Функція str переводить числове значення в текстове. Якщо умова виконується, то буде виведено повідомлення в інформаційному вікні showinfo. Якщо умова не виконується, буде виведено вікно помилки showerror.

9. Запустіть програму. Введіть неправильну відповідь та натисніть Перевірити. В результаті має з’явитися вікно з повідомленням про помилку. Введіть правильну відповідь. Натисніть Перевірити — тепер має з’явитися вікно з повідомленням про правильне розв’язання.

Обробник події кнопки Наступний приклад

10. Для обробника події натискання на кнопку Наступний приклад сформуйте наступний код:

По суті, він дублює фрагмент програми початкового створення прикладу при запуску програми. Тут аналогічно утворюються змінні а і b та формується текст у написі Lbl. Також після натискання кнопки Наступний приклад буде здійснено очищення текстового поля. Це реалізовано з допомогою методу delete. Оскільки сума значень змінних а і b перевіряється у тілі іншої функції, їх оголошено в якості глобальних змінних у першому рядку обробника події.

11. Запустіть програму та перевірте, чи будуть змінюватися приклади, натискаючи кнопку Наступний приклад.

Створення статистики обчислень

Удосконалимо програму таким чином, аби у ній здійснювався підрахунок кількості розглянутих прикладів, кількості правильних відповідей та кількості помилок. Для визначення цих значень скористаємося змінними k — кількість прикладів, k_ok — кількість правильних відповідей та k_err — кількість помилок.

12. У тілі програми встановіть початкові значення змінних:

Оскільки перший приклад формується відразу при запуску програми, то змінна к=1.

13. Додайте у тілі обробника кнопки Наступний приклад коди обчислення кількості прикладів, а саме, значення змінної к:

14. Коди обчислення кількості правильних та неправильних відповідей додайте у тілі обробника кнопки Перевірити.

У коді здійснюється оголошення змінних k_ok та k_err як глобальних. Якщо відповідь є правильною, буде здійснюватися збільшення значення змінної k_ok та зміна цього значення при виведенні його у графічному вікні, у випадку невиконання умови збільшується значення k_err, а також формується напис щодо виведення цього значення.

15. Запустіть програму та перевірте, як буде підраховуватися кількість прикладів.

Контрольні запитання та завдання

1. Які бувають вікна повідомлень?

2. Як вивести вікно повідомлення?

3. Які елементи має вікно повідомлення?

Питання для роздумів

1*. Для чого використовують вікна повідомлень у програмах?

2*. Для чого у вікнах повідомлень використовують різні кнопки?

 

Це матеріал з підручника Інформатика 8 клас Казанцева, Стеценко (2021)

 




Попередня сторінка:  54. Уведення даних в програму на Python
Наступна сторінка:   56. Використання перемикачів та прапор...



^