# Діалоги Tkinter

## `tkinter.simpledialog` — Стандартні діалоги введення Tkinter

Вихідний код: Lib/tkinter/simpledialog.py

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

tkinter.simpledialog.askfloat(title, prompt, **kw)
tkinter.simpledialog.askinteger(title, prompt, **kw)
tkinter.simpledialog.askstring(title, prompt, **kw)

  Наведені вище три функції пропонують діалогові вікна, які пропонують користувачеві ввести значення потрібного типу.

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

  Базовий клас для настроюваних діалогів.

  body(master)

    Перевизначити, щоб створити інтерфейс діалогового вікна та повернути віджет, який має мати початковий фокус.

  buttonbox()

    Поведінка за умовчанням додає кнопки OK і Cancel. Перевизначення для власних макетів кнопок.

## `tkinter.filedialog` — Діалогове вікно вибору файлів

Вихідний код: Lib/tkinter/filedialog.py

Модуль `tkinter.filedialog` надає класи та фабричні функції для створення вікон вибору файлів/каталогів.

### Власні діалоги завантаження/збереження

Наступні класи та функції забезпечують діалогові вікна файлів, які поєднують зовнішній вигляд і параметри конфігурації для налаштування поведінки. Наступні ключові аргументи застосовні до класів і функцій, перелічених нижче:

> parent - вікно, поверх якого буде розміщено діалогове вікно
> title - заголовок вікна
> initialdir - каталог, у якому починається діалог
> initialfile - файл, вибраний під час відкриття діалогу
> filetypes – послідовність (мітка, шаблон) кортежів, дозволений символ підстановки «*».
> defaultextension - типове розширення для додавання до файлу (діалогове вікно збереження)
> multiple - якщо значення true, дозволено вибір кількох елементів

Статичні заводські функції

Наведені нижче функції під час виклику створюють модальне діалогове вікно, що нагадує зовнішній вигляд, очікують вибору користувача, а потім повертають вибрані значення або `None` абоненту.

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

  Наведені вище дві функції створюють діалогове вікно `Open` і повертають відкритий файловий об’єкт(и) у режимі лише для читання.

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

  Створіть діалогове вікно `SaveAs` і поверніть об’єкт файлу, відкритий у режимі лише для запису.

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

  Наведені вище дві функції створюють діалогове вікно `Open` та повертають вибрані назви файлів, які відповідають існуючим файлам.

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)

    Вийти з діалогового вікна, повертаючи поточний вибір.

  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(color=None, **options)

    Відобразити діалогове вікно.

Дивись також

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