# Діалоги 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`, Читання та запис файлів