Документация Python неофициальный перевод

tkinter.messagebox – диалоговые окна Tkintertkinter.messagebox – Tkinter message prompts

Исходный код: Lib/tkinter/messagebox.py


Модуль tkinter.messagebox предоставляет шаблонный базовый класс, а также ряд удобных методов для часто используемых конфигураций. Диалоговые окна являются модальными: каждое блокирует выполнение до ответа пользователя, затем возвращает значение, зависящее от функции. Функции show* и Message.show() возвращают символическое имя нажатой кнопки в виде строки (например, OK или YES), в то время как функции ask* возвращают bool или None (см. каждую функцию ниже). Распространённые стили и макеты диалоговых окон включают, но не ограничиваются:

../_images/tk_msg.png
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.OKCANCEL = 'okcancel'

Отображает две кнопки с символьными именами OK и CANCEL.

tkinter.messagebox.RETRYCANCEL = 'retrycancel'

Отображает две кнопки с символьными именами RETRY и CANCEL.

tkinter.messagebox.YESNO = 'yesno'

Отображает две кнопки с символьными именами YES и NO.

tkinter.messagebox.YESNOCANCEL = 'yesnocancel'

Отображает три кнопки с символическими именами YES, NO и CANCEL.

Изображения значков:

tkinter.messagebox.ERROR = 'error'
tkinter.messagebox.INFO = 'info'
tkinter.messagebox.QUESTION = 'question'
tkinter.messagebox.WARNING = 'warning'