Окна сообщений
1. Окна сообщений
2.
Tkinter имеет ряд встроенных окон для разных ситуаций, в частности, окнасообщений, функционал которых заключен в модуле tkinter.messagebox. Для
отображения сообщений этот модуль предоставляет следующие функции:
showinfo(): предназначена для отображения некоторой информации
showerror(): предназначена для отображения ошибок
showwarrning(): предназначена для отображения предупреждений
3.
4.
from tkinter import *from tkinter import ttk
from tkinter.messagebox import showerror, showwarning, showinfo
root = Tk()
root.title(«Окошечки")
root.geometry("250x200")
def open_info():
showinfo(title="Информация", message="Информационное сообщение")
def open_warning():
showwarning(title="Предупреждение", message="Сообщение о
предупреждении")
def open_error():
showerror(title="Ошибка", message="Сообщение об ошибке")
info_button = ttk.Button(text="Информация", command=open_info)
info_button.pack(anchor="center", expand=1)
warning_button = ttk.Button(text="Предупреждение", command=open_warning)
warning_button.pack(anchor="center", expand=1)
error_button = ttk.Button(text="Ошибка", command=open_error)
error_button.pack(anchor="center", expand=1)
root.mainloop()
5.
Модуль tkinter.messagebox также предоставляет ряд функций для подтвержденияоперации, где пользователю предлагается нажать на одну из двух кнопок:
askyesno()
askokcancel()
askretrycancel()
6.
from tkinter import *from tkinter import ttk
from tkinter.messagebox import showinfo, askyesno
root = Tk()
root.title(“ОКОШЕЧКИ")
root.geometry("250x200")
def click():
result = askyesno(title="Подтвержение операции", message="Подтвердить
операцию?")
if result: showinfo("Результат", "Операция подтверждена")
else: showinfo("Результат", "Операция отменена")
ttk.Button(text="Click", command=click).pack(anchor="center", expand=1)
root.mainloop()
7.
Также отдельно стоит функция askyesnocancel() она отображает три кнопки: Yes (возвращает True),No (возвращает False) и Cancel (возвращает None):
8.
from tkinter import *from tkinter import ttk
from tkinter.messagebox import showinfo, askyesnocancel
root = Tk()
root.title("METANIT.COM")
root.geometry("250x200")
def click():
result = askyesnocancel(title="Подтвержение операции", message="Подтвердить
операцию?")
if result==None: showinfo("Результат", "Операция приостановлена")
elif result: showinfo("Результат", "Операция подтверждена")
else : showinfo("Результат", "Операция отменена")
ttk.Button(text="Click", command=click).pack(anchor="center", expand=1)
root.mainloop()
informatics