Диалоговые окна Tkinter
tkinter.simpledialog — Стандартные диалоговые окна ввода Tkinter
Исходный код: 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() -
По умолчанию добавляются кнопки «ОК» и «Отмена». Переопределите метод, чтобы задать собственное расположение кнопок.
-
validate() -
Проверить данные, введённые пользователем. Вернуть истину, если данные корректны; в этом случае диалоговое окно переходит к вызову
apply(). Вернуть ложь, чтобы оставить диалоговое окно открытым. Реализация по умолчанию всегда возвращает истину; переопределите её, чтобы проверить введённые данные.
-
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 — Диалоговые окна выбора файлов
Исходный код: Lib/tkinter/filedialog.py
Модуль tkinter.filedialog предоставляет классы и фабричные функции для создания окон выбора файлов и каталогов.
Стандартные диалоговые окна загрузки и сохранения
Следующие классы и функции предоставляют диалоговые окна выбора файлов, сочетающие стандартный внешний вид с параметрами настройки поведения. К перечисленным ниже классам и функциям применимы следующие именованные аргументы:
Статические фабричные функции
При вызове приведённые ниже функции создают модальное диалоговое окно со стандартным внешним видом, ожидают выбора пользователя и возвращают результат. Точное возвращаемое значение зависит от функции (см. ниже); при отмене диалогового окна возвращается пустая строка, пустой кортеж или 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 — если он равен истине, пользователь может выбрать только существующий каталог (по умолчанию — ложь).
-
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 — Шаблоны диалоговых окон
Исходный код: Lib/tkinter/commondialog.py
Модуль tkinter.commondialog предоставляет класс Dialog, который является базовым классом для диалоговых окон, определённых в других вспомогательных модулях.
-
class tkinter.commondialog.Dialog(master=None, **options) -
-
show(**options) -
Отобразить окно Dialog.
-
tkinter.dialog — Классические диалоговые окна Tk
Исходный код: Lib/tkinter/dialog.py
Модуль tkinter.dialog предоставляет простое модальное диалоговое окно, созданное на основе классических (не тематизированных) виджетов Tk.
-
tkinter.dialog.DIALOG_ICON -
Имя растрового изображения (
'questhead'), подходящего для использования в качестве bitmap вDialog.
-
class tkinter.dialog.Dialog(master=None, cnf={}, **kw) -
Отобразить модальное диалоговое окно, созданное на основе классических (не тематизированных) виджетов Tk, и дождаться нажатия пользователем одной из кнопок. Все параметры, передаваемые через cnf или в виде именованных аргументов, являются обязательными: title (заголовок окна), text (сообщение), bitmap (имя растрового значка, например
DIALOG_ICON), default (индекс кнопки по умолчанию) и strings (последовательность подписей кнопок). После создания атрибутnumсодержит индекс нажатой пользователем кнопки.-
destroy() -
Ничего не делать. Окно диалогового окна уничтожается автоматически до возврата конструктора, поэтому этому методу нечего выполнять.
-
См. также
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/dialog.html