# Tkinter 对话框

## `tkinter.simpledialog` --- 标准 Tkinter 输入对话框

源码: Lib/tkinter/simpledialog.py

The `tkinter.simpledialog` module contains convenience classes and functions for creating simple modal dialogs to get a value from the user.

`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)

  >   Override to construct the dialog's interface and return the widget that should have initial focus.

  > `buttonbox`()

  >   加入 OK 和 Cancel 按钮的默认行为. 重写自定义按钮布局.

## `tkinter.filedialog` --- 文件选择对话框.

源码: Lib/tkinter/filedialog.py

The `tkinter.filedialog` module provides classes and factory functions for creating file/directory selection windows.

### 原生 加载/保存 对话框.

The following classes and functions provide file dialog windows that combine a native look-and-feel with configuration options to customize behaviour. The following keyword arguments are applicable to the classes and functions listed below:

> parent - the window to place the dialog on top of
> title - the title of the window
> initialdir - the directory that the dialog starts in
> initialfile - the file selected upon opening of the dialog
> filetypes - a sequence of (label, pattern) tuples, '*' wildcard is allowed
> defaultextension - default extension to append to file (save dialogs)
> multiple - when true, selection of multiple items is allowed

Static factory functions

The below functions when called create a modal, native look-and-feel dialog, wait for the user's selection, then return the selected value(s) or `None` to the caller.

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

  The above two functions create an `Open` dialog and return the opened file object(s) in read-only mode.

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

  Create a `SaveAs` dialog and return a file object opened in write-only mode.

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

  The above two functions create an `Open` dialog and return the selected filename(s) that correspond to existing file(s).

`tkinter.filedialog.``asksaveasfilename`(**options)

  Create a `SaveAs` dialog and return the selected filename.

`tkinter.filedialog.``askdirectory`(**options)
  提示用户选择一个目录.
  Additional keyword option:
  mustexist - determines if selection must be an existing directory.

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

  The above two classes provide native dialog windows for saving and loading files.

Convenience classes

The below classes are used for creating file/directory windows from scratch. These do not emulate the native look-and-feel of the platform.

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

  Create a dialog prompting the user to select a directory.

備註

The FileDialog class should be subclassed for custom event handling and behaviour.

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

  Create a basic file selection dialog.

  `cancel_command`(event=None)

    Trigger the termination of the dialog window.

  `dirs_double_event`(event)

    Event handler for double-click event on directory.

  `dirs_select_event`(event)

    Event handler for click event on directory.

  `files_double_event`(event)

    Event handler for double-click event on file.

  `files_select_event`(event)

    Event handler for single-click event on file.

  `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)

    Update the current file selection to file.

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

  A subclass of FileDialog that creates a dialog window for selecting an existing file.

  `ok_command`()

    Test that a file is provided and that the selection indicates an already existing file.

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

  A subclass of FileDialog that creates a dialog window for selecting a destination file.

  `ok_command`()

    Test whether or not the selection points to a valid file that is not a directory. Confirmation is required if an already existing file is selected.

## `tkinter.commondialog` --- 对话窗口模板

源码: Lib/tkinter/commondialog.py

The `tkinter.commondialog` module provides the `Dialog` class that is the base class for dialogs defined in other supporting modules.

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

    渲染对话窗口.

也參考

Modules `tkinter.messagebox`, 读写文件