tkinter.messagebox — диалоговые окна Tkinter
Исходный код: Lib/tkinter/messagebox.py
Модуль tkinter.messagebox предоставляет базовый класс-шаблон, а также различные вспомогательные методы для часто используемых конфигураций. Диалоговые окна являются модальными: каждое из них блокирует выполнение до ответа пользователя, а затем возвращает значение, зависящее от функции. Функции show* и Message.show() возвращают в виде строки символическое имя кнопки, на которую нажал пользователь (например, OK или YES). К распространённым стилям и макетам диалоговых окон относятся, помимо прочего:
-
class tkinter.messagebox.Message(master=None, **options) -
Создаёт окно сообщения с заданными приложением сообщением, значком и набором кнопок. Каждая кнопка в окне сообщения обозначается уникальным символическим именем (см. параметры type).
Поддерживаются следующие параметры:
- command
-
Задаёт функцию, вызываемую при закрытии диалогового окна пользователем. Имя кнопки, нажатой пользователем для закрытия диалогового окна, передаётся в качестве аргумента. Доступно только в macOS.
- default
-
Задаёт символическое имя кнопки по умолчанию для этого окна сообщения (
OK,CANCELи т. д.). Если этот параметр не задан, кнопкой по умолчанию становится первая кнопка в диалоговом окне. - detail
-
Задаёт дополнительное сообщение к основному сообщению, указанному параметром message. Подробности сообщения отображаются под основным сообщением и, если это поддерживается операционной системой, менее выразительным шрифтом.
- icon
-
Задаёт значок для отображения. Если этот параметр не задан, будет отображаться значок
INFO. - message
-
Задаёт сообщение для отображения в этом диалоговом окне. По умолчанию используется пустая строка.
- parent
-
Назначает указанное окно логическим родителем диалогового окна. Диалоговое окно отображается поверх родительского.
- title
-
Задаёт строку, отображаемую в качестве заголовка диалогового окна. В macOS этот параметр игнорируется: правила платформы запрещают использовать заголовок в диалоговых окнах такого типа.
- type
-
Задаёт отображение предопределённого набора кнопок.
Примечание
В 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'
-
tkinter.messagebox.RETRYCANCEL = 'retrycancel' -
Отображает две кнопки с символическими именами
RETRYиCANCEL.
-
tkinter.messagebox.YESNOCANCEL = 'yesnocancel' -
Отображает три кнопки с символическими именами
YES,NOиCANCEL.
Изображения значков:
-
tkinter.messagebox.ERROR = 'error'
-
tkinter.messagebox.INFO = 'info'
-
tkinter.messagebox.QUESTION = 'question'
-
tkinter.messagebox.WARNING = 'warning'
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/tkinter.messagebox.html