tkinter.messagebox – диалоговые окна Tkinter¶tkinter.messagebox – Tkinter message prompts
Исходный код: Lib/tkinter/messagebox.py
Модуль tkinter.messagebox предоставляет шаблонный базовый класс, а также
ряд удобных методов для часто используемых конфигураций.
Диалоговые окна являются модальными: каждое блокирует выполнение до ответа пользователя, затем возвращает
значение, зависящее от функции.
Функции show* и Message.show() возвращают символическое имя
нажатой кнопки в виде строки (например, OK или YES),
в то время как функции ask* возвращают bool или None (см. каждую
функцию ниже).
Распространённые стили и макеты диалоговых окон включают, но не ограничиваются:
- class tkinter.messagebox.Message(master=None, **options)¶
Создаёт окно сообщения с заданным приложением сообщением, значком и набором кнопок. Каждая кнопка в окне сообщения идентифицируется уникальным символическим именем (см. параметры type).
Поддерживаются следующие параметры:
- command
Задаёт функцию, которая вызывается при закрытии диалога пользователем. Имя кнопки, по которой пользователь щёлкнул для закрытия диалога, передаётся в качестве аргумента. Доступно только на macOS.
- default
Задаёт символическое имя кнопки по умолчанию для этого окна сообщения (
OK,CANCELи так далее). Если этот параметр не указан, первой кнопке в диалоге будет назначен статус по умолчанию.- detail
Задаёт дополнительное сообщение к основному сообщению, заданному параметром message. Дополнительное сообщение будет отображаться под основным, и, где поддерживается ОС, шрифтом менее выделенным, чем основное сообщение.
- icon
Задаёт значок для отображения. Если этот параметр не указан, будет отображаться значок
INFO.- message
Задаёт сообщение для отображения в этом диалоговом окне. Значение по умолчанию – пустая строка.
- parent
Делает указанное окно логическим родителем диалогового окна. Диалоговое окно отображается поверх своего родительского окна.
- title
Задаёт строку для отображения в качестве заголовка диалогового окна. Этот параметр игнорируется на macOS, где рекомендации платформы запрещают использование заголовка в диалогах такого типа.
- тип
Организует отображение заранее определённого набора кнопок.
Примечание
В Tk 8.6 добавлен параметр command.
- show(**options)¶
Отображает окно сообщения и ожидает выбора пользователем одной из кнопок. Затем возвращает символическое имя выбранной кнопки. Именованные аргументы могут переопределять параметры, заданные в конструкторе.
Информационное диалоговое окно
- tkinter.messagebox.showinfo(title=None, message=None, **options)¶
Создаёт и отображает информационное диалоговое окно с указанными заголовком и сообщением.
Предупреждающие диалоговые окна
- tkinter.messagebox.showwarning(title=None, message=None, **options)¶
Создаёт и отображает предупреждающее диалоговое окно с указанными заголовком и сообщением.
- tkinter.messagebox.showerror(title=None, message=None, **options)¶
Создаёт и отображает окно сообщения об ошибке с заданными заголовком и сообщением.
Окна вопросов
- tkinter.messagebox.askquestion(title=None, message=None, *, type=YESNO, **options)¶
Задаёт вопрос. По умолчанию показывает кнопки
YESиNO. Возвращает символьное имя выбранной кнопки.
- tkinter.messagebox.askokcancel(title=None, message=None, **options)¶
Спрашивает, следует ли продолжить операцию. Показывает кнопки
OKиCANCEL. ВозвращаетTrue, если ответ положительный, иFalseв противном случае.
- tkinter.messagebox.askretrycancel(title=None, message=None, **options)¶
Спрашивает, нужно ли повторить операцию. Показывает кнопки
RETRYиCANCEL. ВозвращаетTrue, если выбран повтор, иFalseв противном случае.
- tkinter.messagebox.askyesno(title=None, message=None, **options)¶
Задаёт вопрос. Показывает кнопки
YESиNO. ВозвращаетTrue, если ответ «да», иFalseв противном случае.
- tkinter.messagebox.askyesnocancel(title=None, message=None, **options)¶
Задаёт вопрос. Показывает кнопки
YES,NOиCANCEL. ВозвращаетTrue, если ответ «да»,Noneпри отмене иFalseв противном случае.
- tkinter.messagebox.ABORT = 'abort'¶
- tkinter.messagebox.RETRY = 'retry'¶
- tkinter.messagebox.IGNORE = 'ignore'¶
- tkinter.messagebox.OK = 'ok'¶
- tkinter.messagebox.CANCEL = 'cancel'¶
- tkinter.messagebox.YES = 'yes'¶
- tkinter.messagebox.NO = 'no'¶
Предопределённые наборы кнопок:
- tkinter.messagebox.ABORTRETRYIGNORE = 'abortretryignore'¶
Отображает три кнопки с символическими именами
ABORT,RETRYиIGNORE.
- tkinter.messagebox.OK = 'ok'
Отображает одну кнопку с символьным именем
OK.
- tkinter.messagebox.RETRYCANCEL = 'retrycancel'¶
- tkinter.messagebox.YESNOCANCEL = 'yesnocancel'¶
Отображает три кнопки с символическими именами
YES,NOиCANCEL.
Изображения значков:
- tkinter.messagebox.ERROR = 'error'¶
- tkinter.messagebox.INFO = 'info'¶
- tkinter.messagebox.QUESTION = 'question'¶
- tkinter.messagebox.WARNING = 'warning'¶