Іноді буває необхідно вивести певне повідомлення про роботу програми в діалоговому вікні, не створюючи спеціального віджета. Пакет tkinter містить модуль messagebox, який надає доступ до вікон повідомлень.
Модуль messagebox потрібно імпортувати додатково:
from tkinter import messagebox
from tkinter import messagebox
Для того щоб згенерувати вікно повідомлення з кнопкою Ок, потрібно для об’єкта messagebox викликати методи showerror(), showinfo() або showwarning(). Від вибраного методу залежить вигляд піктокрами у вікні повідомлення (рис. 1).
Рис.1
Синтаксис виклику методу такий:
messagebox.showinfo(заголовок, текст)
messagebox.showinfo(заголовок, текст)
Приклад:
Згенеруємо вікно повідомлення інформаційного характеру (рис. 2):
messagebox.showinfo('Інформація', 'Обчислення завершене')
messagebox.showinfo('Інформація', 'Обчислення завершене')
Рис.2
Напишемо обробник події '<Return>' (натискання на клавішу Enter), в якому з полів об’єктів entry1 і entry2 класу Еntry зчитуються значення для змінних а і b; якщо b = 0, генерується вікно з повідомленням про помилку (рис. 3), інакше генерується вікно зі значенням a / b (рис.4).
Рис.3
Рис. 4
Створимо графічне вікно програми і функцію-обробник події '<Motion>' (переміщення миші):
Результат виконання проєкту наведено на рис.5.
Рис. 5
У цьому прикладі використано подію Motion. Тільки-но вказівник буде переміщуватися по вікні, настане подія Motion, яка викличе функцію def move(event), яка знову відкриватиме вікно повідомлень. Тому закінчити виконання цього проєкту можна, натиснувши ОК у вікні повідомлення і, не заходячи вказівником миші на робочу поверхню вікна, вибрати кнопку вікна програми.
Вікна повідомлень можна використовувати для виведення результатів виконання певного етапу програми.
Використання вікон повідомлень дозволяє програмісту уникнути додавання на форму зайвих елементів керування.
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2021