tkinter.messagebox.md
1> **Источник:** https://python-all.ru/3.15/library/tkinter.messagebox.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `tkinter.messagebox` – диалоговые окна Tkinter89**Исходный код:** [Lib/tkinter/messagebox.py](https://python-all.ru/src/3.15/Lib/tkinter/messagebox.py)1011---1213Модуль `tkinter.messagebox` предоставляет шаблонный базовый класс, а также ряд удобных методов для часто используемых конфигураций. Диалоговые окна являются модальными: каждое блокирует выполнение до ответа пользователя, затем возвращает значение, зависящее от функции. Функции `show*` и [`Message.show()`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.Message.show) возвращают символическое имя нажатой кнопки в виде строки (например, [`OK`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.OK) или [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES)), в то время как функции `ask*` возвращают [`bool`](https://python-all.ru/3.15/library/functions.html#bool) или `None` (см. каждую функцию ниже). Распространённые стили и макеты диалоговых окон включают, но не ограничиваются:14151617#### `class tkinter.messagebox.Message(master=None, **options)`1819Создаёт окно сообщения с заданным приложением сообщением, значком и набором кнопок. Каждая кнопка в окне сообщения идентифицируется уникальным символическим именем (см. параметры *type*).2021Поддерживаются следующие параметры:2223> ***command***24>25> Задаёт функцию, которая вызывается при закрытии диалога пользователем. Имя кнопки, по которой пользователь щёлкнул для закрытия диалога, передаётся в качестве аргумента. Доступно только на macOS.26>27> ***default***28>29> Задаёт [символическое имя](https://python-all.ru/3.15/library/tkinter.messagebox.html#messagebox-buttons) кнопки по умолчанию для этого окна сообщения ([`OK`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.OK), [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL) и так далее). Если этот параметр не указан, первой кнопке в диалоге будет назначен статус по умолчанию.30>31> ***detail***32>33> Задаёт дополнительное сообщение к основному сообщению, заданному параметром *message*. Дополнительное сообщение будет отображаться под основным, и, где поддерживается ОС, шрифтом менее выделенным, чем основное сообщение.34>35> ***icon***36>37> Задаёт [значок](https://python-all.ru/3.15/library/tkinter.messagebox.html#messagebox-icons) для отображения. Если этот параметр не указан, будет отображаться значок [`INFO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.INFO).38>39> ***message***40>41> Задаёт сообщение для отображения в этом диалоговом окне. Значение по умолчанию – пустая строка.42>43> ***parent***44>45> Делает указанное окно логическим родителем диалогового окна. Диалоговое окно отображается поверх своего родительского окна.46>47> ***title***48>49> Задаёт строку для отображения в качестве заголовка диалогового окна. Этот параметр игнорируется на macOS, где рекомендации платформы запрещают использование заголовка в диалогах такого типа.50>51> ***тип***52>53> Организует отображение [заранее определённого набора кнопок](https://python-all.ru/3.15/library/tkinter.messagebox.html#messagebox-types).5455> **Примечание**56>57> В Tk 8.6 добавлен параметр *command*.5859#### `show(**options)`6061Отображает окно сообщения и ожидает выбора пользователем одной из кнопок. Затем возвращает символическое имя выбранной кнопки. Именованные аргументы могут переопределять параметры, заданные в конструкторе.6263**Информационное диалоговое окно**6465#### `tkinter.messagebox.showinfo(title=None, message=None, **options)`6667Создаёт и отображает информационное диалоговое окно с указанными заголовком и сообщением.6869**Предупреждающие диалоговые окна**7071#### `tkinter.messagebox.showwarning(title=None, message=None, **options)`7273Создаёт и отображает предупреждающее диалоговое окно с указанными заголовком и сообщением.7475#### `tkinter.messagebox.showerror(title=None, message=None, **options)`7677Создаёт и отображает окно сообщения об ошибке с заданными заголовком и сообщением.7879**Окна вопросов**8081#### `tkinter.messagebox.askquestion(title=None, message=None, *, type=YESNO, **options)`8283Задаёт вопрос. По умолчанию показывает кнопки [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES) и [`NO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.NO). Возвращает символьное имя выбранной кнопки.8485#### `tkinter.messagebox.askokcancel(title=None, message=None, **options)`8687Спрашивает, следует ли продолжить операцию. Показывает кнопки [`OK`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.OK) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL). Возвращает `True`, если ответ положительный, и `False` в противном случае.8889#### `tkinter.messagebox.askretrycancel(title=None, message=None, **options)`9091Спрашивает, нужно ли повторить операцию. Показывает кнопки [`RETRY`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.RETRY) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL). Возвращает `True`, если выбран повтор, и `False` в противном случае.9293#### `tkinter.messagebox.askyesno(title=None, message=None, **options)`9495Задаёт вопрос. Показывает кнопки [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES) и [`NO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.NO). Возвращает `True`, если ответ «да», и `False` в противном случае.9697#### `tkinter.messagebox.askyesnocancel(title=None, message=None, **options)`9899Задаёт вопрос. Показывает кнопки [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES), [`NO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.NO) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL). Возвращает `True`, если ответ «да», `None` при отмене и `False` в противном случае.100101Символьные имена кнопок:102103#### `tkinter.messagebox.ABORT = 'abort'`104105#### `tkinter.messagebox.RETRY = 'retry'`106107#### `tkinter.messagebox.IGNORE = 'ignore'`108109#### `tkinter.messagebox.OK = 'ok'`110111#### `tkinter.messagebox.CANCEL = 'cancel'`112113#### `tkinter.messagebox.YES = 'yes'`114115#### `tkinter.messagebox.NO = 'no'`116117Предопределённые наборы кнопок:118119#### `tkinter.messagebox.ABORTRETRYIGNORE = 'abortretryignore'`120121Отображает три кнопки с символическими именами [`ABORT`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.ABORT), [`RETRY`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.RETRY) и [`IGNORE`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.IGNORE).122123#### `tkinter.messagebox.OK = 'ok'`124125Отображает одну кнопку с символьным именем [`OK`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.OK).126127#### `tkinter.messagebox.OKCANCEL = 'okcancel'`128129Отображает две кнопки с символьными именами [`OK`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.OK) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL).130131#### `tkinter.messagebox.RETRYCANCEL = 'retrycancel'`132133Отображает две кнопки с символьными именами [`RETRY`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.RETRY) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL).134135#### `tkinter.messagebox.YESNO = 'yesno'`136137Отображает две кнопки с символьными именами [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES) и [`NO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.NO).138139#### `tkinter.messagebox.YESNOCANCEL = 'yesnocancel'`140141Отображает три кнопки с символическими именами [`YES`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.YES), [`NO`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.NO) и [`CANCEL`](https://python-all.ru/3.15/library/tkinter.messagebox.html#tkinter.messagebox.CANCEL).142143Изображения значков:144145#### `tkinter.messagebox.ERROR = 'error'`146147#### `tkinter.messagebox.INFO = 'info'`148149#### `tkinter.messagebox.QUESTION = 'question'`150151#### `tkinter.messagebox.WARNING = 'warning'`152