dialog.md
1> **Источник:** https://python-all.ru/3.12/library/dialog.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Диалоги Tkinter89## [`tkinter.simpledialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.simpledialog) – Стандартные диалоговые окна ввода Tkinter1011**Исходный код:** [Lib/tkinter/simpledialog.py](https://python-all.ru/src/3.12/Lib/tkinter/simpledialog.py)1213---1415Модуль [`tkinter.simpledialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.simpledialog) содержит удобные классы и функции для создания простых модальных диалогов для получения значения от пользователя.1617#### `tkinter.simpledialog.askfloat(title, prompt, **kw)`1819#### `tkinter.simpledialog.askinteger(title, prompt, **kw)`2021#### `tkinter.simpledialog.askstring(title, prompt, **kw)`2223Эти три функции открывают диалоговые окна, предлагающие пользователю ввести значение нужного типа.2425#### `class tkinter.simpledialog.Dialog(parent, title=None)`2627Базовый класс для пользовательских диалогов.2829#### `body(master)`3031Переопределите для создания интерфейса диалога и возврата виджета, который должен получить начальный фокус.3233#### `buttonbox()`3435Поведение по умолчанию добавляет кнопки OK и Cancel. Переопределите для создания собственной разметки кнопок.3637## [`tkinter.filedialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.filedialog) – Диалоги выбора файлов3839**Исходный код:** [Lib/tkinter/filedialog.py](https://python-all.ru/src/3.12/Lib/tkinter/filedialog.py)4041---4243Модуль [`tkinter.filedialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.filedialog) предоставляет классы и фабричные функции для создания окон выбора файлов/каталогов.4445### Нативные диалоги загрузки/сохранения4647Следующие классы и функции предоставляют окна диалогов выбора файлов, объединяющие нативный внешний вид и поведение с настройками для изменения поведения. К перечисленным ниже классам и функциям применимы следующие именованные аргументы:4849> *parent*50>51> – родительское окно, поверх которого будет размещён диалог52>53> *title*54>55> – заголовок окна56>57> *initialdir*58>59> – каталог, который будет открыт при запуске диалога60>61> *initialfile*62>63> – файл, выбранный при открытии диалога64>65> *filetypes*66>67> – последовательность кортежей (метка, шаблон), допускается символ '\*'68>69> *defaultextension*70>71> – расширение по умолчанию, добавляемое к имени файла (для диалогов сохранения)72>73> *multiple*74>75> – при значении true допускается выбор нескольких элементов7677**Статические фабричные функции**7879При вызове перечисленные ниже функции создают модальное диалоговое окно с нативным внешним видом, ожидают выбора пользователя и возвращают выбранное значение(я) или `None` вызвавшему коду.8081#### `tkinter.filedialog.askopenfile(mode='r', **options)`8283#### `tkinter.filedialog.askopenfiles(mode='r', **options)`8485Две указанные выше функции создают диалог [`Open`](https://python-all.ru/3.12/library/dialog.html#tkinter.filedialog.Open) и возвращают открытый(е) объект(ы) файла в режиме только для чтения.8687#### `tkinter.filedialog.asksaveasfile(mode='w', **options)`8889Создают диалог [`SaveAs`](https://python-all.ru/3.12/library/dialog.html#tkinter.filedialog.SaveAs) и возвращают объект файла, открытый в режиме только для записи.9091#### `tkinter.filedialog.askopenfilename(**options)`9293#### `tkinter.filedialog.askopenfilenames(**options)`9495Две указанные выше функции создают диалог [`Open`](https://python-all.ru/3.12/library/dialog.html#tkinter.filedialog.Open) и возвращают выбранное имя(ена) файла(ов), соответствующие существующему(им) файлу(ам).9697#### `tkinter.filedialog.asksaveasfilename(**options)`9899Создают диалог [`SaveAs`](https://python-all.ru/3.12/library/dialog.html#tkinter.filedialog.SaveAs) и возвращают выбранное имя файла.100101#### `tkinter.filedialog.askdirectory(**options)`102103Запрашивает у пользователя выбор каталога.104105Дополнительный именованный параметр:106107*mustexist*108109– определяет, должен ли выбранный каталог существовать.110111#### `class tkinter.filedialog.Open(master=None, **options)`112113#### `class tkinter.filedialog.SaveAs(master=None, **options)`114115Два указанных выше класса предоставляют нативные диалоговые окна для сохранения и загрузки файлов.116117**Вспомогательные классы**118119Следующие классы используются для создания окон выбора файлов/каталогов с нуля. Они не эмулируют нативный внешний вид и поведение платформы.120121#### `class tkinter.filedialog.Directory(master=None, **options)`122123Создаёт диалог, предлагающий пользователю выбрать каталог.124125> **Примечание**126>127> Класс *FileDialog* следует подклассировать для реализации пользовательской обработки событий и поведения.128129#### `class tkinter.filedialog.FileDialog(master, title=None)`130131Создаёт базовый диалог выбора файла.132133#### `cancel_command(event=None)`134135Запускает завершение диалогового окна.136137#### `dirs_double_event(event)`138139Обработчик события двойного щелчка по каталогу.140141#### `dirs_select_event(event)`142143Обработчик события щелчка по каталогу.144145#### `files_double_event(event)`146147Обработчик события двойного щелчка по файлу.148149#### `files_select_event(event)`150151Обработчик события одиночного щелчка по файлу.152153#### `filter_command(event=None)`154155Фильтрует файлы по каталогу.156157#### `get_filter()`158159Возвращает текущий используемый фильтр файлов.160161#### `get_selection()`162163Возвращает текущий выбранный элемент.164165#### `go(dir_or_file=os.curdir, pattern='*', default='', key=None)`166167Отрисовывает диалог и запускает цикл событий.168169#### `ok_event(event)`170171Закрывает диалог, возвращая текущий выбор.172173#### `quit(how=None)`174175Закрывает диалог, возвращая имя файла, если таковое имеется.176177#### `set_filter(dir, pat)`178179Устанавливает фильтр файлов.180181#### `set_selection(file)`182183Обновляет текущий выбор файла на *file*.184185#### `class tkinter.filedialog.LoadFileDialog(master, title=None)`186187Подкласс FileDialog, который создаёт окно диалога для выбора существующего файла.188189#### `ok_command()`190191Проверяет, что файл указан и выбранный элемент указывает на уже существующий файл.192193#### `class tkinter.filedialog.SaveFileDialog(master, title=None)`194195Подкласс FileDialog, создающий окно диалога для выбора целевого файла.196197#### `ok_command()`198199Проверяет, указывает ли выбранный элемент на допустимый файл, не являющийся каталогом. Требуется подтверждение, если выбран уже существующий файл.200201## [`tkinter.commondialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.commondialog) – шаблоны окон диалогов202203**Исходный код:** [Lib/tkinter/commondialog.py](https://python-all.ru/src/3.12/Lib/tkinter/commondialog.py)204205---206207Модуль [`tkinter.commondialog`](https://python-all.ru/3.12/library/dialog.html#module-tkinter.commondialog) предоставляет класс [`Dialog`](https://python-all.ru/3.12/library/dialog.html#tkinter.commondialog.Dialog), который является базовым классом для диалогов, определённых в других вспомогательных модулях.208209#### `class tkinter.commondialog.Dialog(master=None, **options)`210211#### `show(color=None, **options)`212213Отображает окно диалога.214215> **См. также**216>217> Модули [`tkinter.messagebox`](https://python-all.ru/3.12/library/tkinter.messagebox.html#module-tkinter.messagebox), [Чтение и запись файлов](https://python-all.ru/3.12/tutorial/inputoutput.html#tut-files)218