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

Диалоговые окна TkinterTkinter dialogs

tkinter.simpledialog – Стандартные диалоговые окна ввода Tkintertkinter.simpledialog – Standard Tkinter input dialogs

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


Модуль tkinter.simpledialog содержит удобные классы и функции для создания простых модальных диалогов для получения значения от пользователя.

tkinter.simpledialog.askfloat(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None)
tkinter.simpledialog.askinteger(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None)
tkinter.simpledialog.askstring(title, prompt, *, initialvalue=None, show=None, parent=None)

Предлагает пользователю ввести значение нужного типа и возвращает его, или None, если диалог отменён.

title – заголовок диалога, а prompt – сообщение, отображаемое над полем ввода. initialvalue – значение, изначально помещаемое в поле. parent – окно, над которым отображается диалог. askinteger() и askfloat() также принимают minvalue и maxvalue, которые ограничивают допустимое значение. askstring() также принимает show – символ, используемый для маскировки вводимого текста, например '*' для скрытия пароля.

class tkinter.simpledialog.Dialog(parent, title=None)

Базовый класс для пользовательских диалогов. При создании экземпляра диалог отображается модально, и метод возвращает управление после закрытия диалога пользователем; введённое значение затем доступно в атрибуте result.

result

Значение, полученное от apply(), или None, если диалог был отменён.

body(master)

Переопределите для создания интерфейса диалога и возврата виджета, который должен получить начальный фокус.

buttonbox()

Поведение по умолчанию добавляет кнопки OK и Cancel. Переопределите для создания собственной разметки кнопок.

validate()

Проверяет данные, введённые пользователем. Возвращает true, если данные корректны – в этом случае диалог переходит к apply(); возвращает false, чтобы оставить диалог открытым. Реализация по умолчанию всегда возвращает true; переопределите её для проверки ввода.

apply()

Обрабатывает данные, введённые пользователем, например сохраняя их в атрибуте result. Вызывается после успешного выполнения validate() и непосредственно перед уничтожением диалога. Реализация по умолчанию ничего не делает; переопределите её для обработки или сохранения результата.

destroy()

Уничтожает окно диалога, очищая ссылку на виджет, который имел начальный фокус.

class tkinter.simpledialog.SimpleDialog(master, text='', buttons=[], default=None, cancel=None, title=None, class_=None)

Простой модальный диалог, который отображает сообщение text над строкой кнопок с подписями, заданными buttons, и возвращает индекс кнопки, нажатой пользователем. default – это индекс кнопки, активируемой клавишей Return, cancel – индекс, возвращаемый при закрытии окна через оконный менеджер, title – заголовок окна, а class_ – имя класса Tk для окна.

go()

Отображает диалог, ожидает, пока пользователь нажмёт кнопку или закроет окно, и возвращает индекс выбранной кнопки.

tkinter.filedialog – Диалоги выбора файловtkinter.filedialog – File selection dialogs

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


Модуль tkinter.filedialog предоставляет классы и фабричные функции для создания окон выбора файлов/каталогов.

Нативные диалоги открытия и сохраненияNative load/save dialogs

Следующие классы и функции предоставляют окна диалогов выбора файлов, объединяющие нативный внешний вид и поведение с настройками для изменения поведения. К перечисленным ниже классам и функциям применимы следующие именованные аргументы:

parent – родительское окно, поверх которого будет размещён диалог
title – заголовок окна
initialdir – каталог, который будет открыт при запуске диалога
initialfile – файл, выбранный при открытии диалога
filetypes – последовательность кортежей (метка, шаблон), допускается символ '*'
defaultextension – расширение по умолчанию, добавляемое к имени файла (для диалогов сохранения)
multiple – при значении true допускается выбор нескольких элементов

Статические фабричные функции

При вызове следующие функции создают модальный диалог с нативным внешним видом, ожидают выбора пользователя и возвращают результат. Точное возвращаемое значение зависит от функции (см. ниже); при отмене диалога возвращается пустая строка, пустой кортеж или None. Точный тип этого пустого значения может различаться в зависимости от платформы и версии Tk, поэтому проверяйте результат на истинность, а не сравнивайте с конкретным значением.

tkinter.filedialog.askopenfile(mode='r', **options)
tkinter.filedialog.askopenfiles(mode='r', **options)

Создаёт диалог Open. askopenfile() возвращает открытый файловый объект или None, если диалог отменён. askopenfiles() возвращает список открытых файловых объектов или пустой кортеж, если отменён. Файлы открываются в режиме mode (по умолчанию только для чтения 'r').

tkinter.filedialog.asksaveasfile(mode='w', **options)

Создаёт диалог SaveAs и возвращает открытый файловый объект или None, если диалог отменён. Файл открывается в режиме mode (по умолчанию 'w').

tkinter.filedialog.askopenfilename(**options)
tkinter.filedialog.askopenfilenames(**options)

Создаёт диалог Open. askopenfilename() возвращает выбранное имя файла в виде строки или пустую строку, если диалог отменён. askopenfilenames() возвращает кортеж выбранных имён файлов или пустой кортеж, если отменён.

tkinter.filedialog.asksaveasfilename(**options)

Создаёт диалог SaveAs и возвращает выбранное имя файла в виде строки или пустую строку, если диалог отменён.

tkinter.filedialog.askdirectory(**options)

Запрашивает у пользователя выбор каталога и возвращает его путь в виде строки или пустую строку, если диалог отменён. Дополнительный именованный аргумент: mustexist – если true, пользователь может выбрать только существующий каталог (по умолчанию false).

class tkinter.filedialog.Open(master=None, **options)
class tkinter.filedialog.SaveAs(master=None, **options)

Два указанных выше класса предоставляют нативные диалоговые окна для сохранения и загрузки файлов.

Вспомогательные классы

Следующие классы используются для создания окон выбора файлов/каталогов с нуля. Они не эмулируют нативный внешний вид и поведение платформы.

class tkinter.filedialog.Directory(master=None, **options)

Создаёт диалог, предлагающий пользователю выбрать каталог.

Примечание

Класс FileDialog следует подклассировать для реализации пользовательской обработки событий и поведения.

class tkinter.filedialog.FileDialog(master, title=None)

Создаёт базовый диалог выбора файла.

cancel_command(event=None)

Запускает завершение диалогового окна.

dirs_double_event(event)

Обработчик события двойного щелчка по каталогу.

dirs_select_event(event)

Обработчик события щелчка по каталогу.

files_double_event(event)

Обработчик события двойного щелчка по файлу.

files_select_event(event)

Обработчик события одиночного щелчка по файлу.

filter_command(event=None)

Фильтрует файлы по каталогу.

get_filter()

Возвращает текущий используемый фильтр файлов.

get_selection()

Возвращает текущий выбранный элемент.

go(dir_or_file=os.curdir, pattern='*', default='', key=None)

Отрисовывает диалог и запускает цикл событий.

ok_event(event)

Закрывает диалог, возвращая текущий выбор.

ok_command()

Вызывается, когда пользователь подтверждает текущий выбор. Базовая реализация принимает выбор и закрывает диалог; LoadFileDialog и SaveFileDialog переопределяют его, чтобы сначала проверить выбор.

quit(how=None)

Закрывает диалог, возвращая имя файла, если таковое имеется.

set_filter(dir, pat)

Устанавливает фильтр файлов.

set_selection(file)

Обновляет текущий выбор файла на file.

class tkinter.filedialog.LoadFileDialog(master, title=None)

Подкласс FileDialog, который создаёт окно диалога для выбора существующего файла.

ok_command()

Проверяет, что файл указан и выбранный элемент указывает на уже существующий файл.

class tkinter.filedialog.SaveFileDialog(master, title=None)

Подкласс FileDialog, создающий окно диалога для выбора целевого файла.

ok_command()

Проверяет, указывает ли выбранный элемент на допустимый файл, не являющийся каталогом. Требуется подтверждение, если выбран уже существующий файл.

tkinter.commondialog – шаблоны окон диалоговtkinter.commondialog – Dialog window templates

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


Модуль tkinter.commondialog предоставляет класс Dialog, который является базовым классом для диалогов, определённых в других вспомогательных модулях.

class tkinter.commondialog.Dialog(master=None, **options)
show(**options)

Отображает окно диалога.

tkinter.dialog – классические диалоговые окна Tktkinter.dialog – Classic Tk dialog boxes

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


Модуль tkinter.dialog предоставляет простое модальное диалоговое окно, построенное на классических (без тем) виджетах Tk.

tkinter.dialog.DIALOG_ICON

Имя стандартного растрового изображения ('questhead'), отображаемого диалогом Dialog.

class tkinter.dialog.Dialog(master=None, cnf={}, **kw)

Отображает модальное диалоговое окно, построенное из классических (без тем) виджетов Tk, и ожидает, пока пользователь нажмёт одну из его кнопок. Параметры, задаваемые через cnf или как именованные аргументы, включают title (заголовок окна), text (сообщение), bitmap (значок, по умолчанию DIALOG_ICON), default (индекс кнопки по умолчанию) и strings (последовательность подписей кнопок). После создания атрибут num содержит индекс кнопки, нажатой пользователем.

destroy()

Уничтожает окно диалога.