Spec-Zone.ru › Python 3.14

Диалоговые окна 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()

Ничего не делать. Окно диалогового окна уничтожается автоматически до возврата конструктора, поэтому этому методу нечего выполнять.

См. также

Модули tkinter.messagebox, Чтение и запись файлов

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/dialog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API