|
| 1 | +Tkinter Dialogs |
| 2 | +=============== |
| 3 | + |
| 4 | +:mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs |
| 5 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 6 | + |
| 7 | +.. module:: tkinter.simpledialog |
| 8 | + :platform: Tk |
| 9 | + :synopsis: Simple dialog windows |
| 10 | + |
| 11 | +**Source code:** :source:`Lib/tkinter/simpledialog.py` |
| 12 | + |
| 13 | +-------------- |
| 14 | + |
| 15 | +The :mod:`tkinter.simpledialog` module contains convenience classes and |
| 16 | +functions for creating simple modal dialogs to get a value from the user. |
| 17 | + |
| 18 | + |
| 19 | +.. function:: askfloat(title, prompt, **kw) |
| 20 | + askinteger(title, prompt, **kw) |
| 21 | + askstring(title, prompt, **kw) |
| 22 | +
|
| 23 | + The above three functions provide dialogs that prompt the user to enter a value |
| 24 | + of the desired type. |
| 25 | + |
| 26 | +.. class:: Dialog(parent, title=None) |
| 27 | + |
| 28 | + The base class for custom dialogs. |
| 29 | + |
| 30 | + .. method:: body(master) |
| 31 | + |
| 32 | + Override to construct the dialog's interface and return the widget that |
| 33 | + should have initial focus. |
| 34 | + |
| 35 | + .. method:: buttonbox() |
| 36 | + |
| 37 | + Default behaviour adds OK and Cancel buttons. Override for custom button |
| 38 | + layouts. |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | +:mod:`tkinter.filedialog` --- File selection dialogs |
| 43 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 44 | + |
| 45 | +.. module:: tkinter.filedialog |
| 46 | + :platform: Tk |
| 47 | + :synopsis: Dialog classes for file selection |
| 48 | + |
| 49 | +**Source code:** :source:`Lib/tkinter/filedialog.py` |
| 50 | + |
| 51 | +-------------- |
| 52 | + |
| 53 | +The :mod:`tkinter.filedialog` module provides classes and factory functions for |
| 54 | +creating file/directory selection windows. |
| 55 | + |
| 56 | +Native Load/Save Dialogs |
| 57 | +------------------------ |
| 58 | + |
| 59 | +The following classes and functions provide file dialog windows that combine a |
| 60 | +native look-and-feel with configuration options to customize behaviour. |
| 61 | +The following keyword arguments are applicable to the classes and functions |
| 62 | +listed below: |
| 63 | + |
| 64 | + | *parent* - the window to place the dialog on top of |
| 65 | +
|
| 66 | + | *title* - the title of the window |
| 67 | +
|
| 68 | + | *initialdir* - the directory that the dialog starts in |
| 69 | +
|
| 70 | + | *initialfile* - the file selected upon opening of the dialog |
| 71 | +
|
| 72 | + | *filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed |
| 73 | +
|
| 74 | + | *defaultextension* - default extension to append to file (save dialogs) |
| 75 | +
|
| 76 | + | *multiple* - when True, selection of multiple items is allowed |
| 77 | +
|
| 78 | + |
| 79 | +**Static factory functions** |
| 80 | + |
| 81 | +The below functions when called create a modal, native look-and-feel dialog, |
| 82 | +wait for the user's selection, then return the selected value(s) or ``None`` to the |
| 83 | +caller. |
| 84 | + |
| 85 | +.. function:: askopenfile(mode="r", **options) |
| 86 | + askopenfiles(mode="r", **options) |
| 87 | +
|
| 88 | + The above two functions create an :class:`Open` dialog and return the opened |
| 89 | + file object(s) in read-only mode. |
| 90 | + |
| 91 | +.. function:: asksaveasfile(mode="w", **options) |
| 92 | + |
| 93 | + Create a :class:`SaveAs` dialog and return a file object opened in write-only mode. |
| 94 | + |
| 95 | +.. function:: askopenfilename(**options) |
| 96 | + askopenfilenames(**options) |
| 97 | +
|
| 98 | + The above two functions create an :class:`Open` dialog and return the |
| 99 | + selected filename(s) that correspond to existing file(s). |
| 100 | + |
| 101 | +.. function:: asksaveasfilename(**options) |
| 102 | + |
| 103 | + Create a :class:`SaveAs` dialog and return the selected filename. |
| 104 | + |
| 105 | +.. function:: askdirectory(**options) |
| 106 | + |
| 107 | + | Prompt user to select a directory. |
| 108 | + | Additional keyword option: |
| 109 | + | *mustexist* - determines if selection must be an existing directory. |
| 110 | +
|
| 111 | +.. class:: Open(master=None, **options) |
| 112 | + SaveAs(master=None, **options) |
| 113 | +
|
| 114 | + The above two classes provide native dialog windows for saving and loading |
| 115 | + files. |
| 116 | + |
| 117 | +**Convenience classes** |
| 118 | + |
| 119 | +The below classes are used for creating file/directory windows from scratch. |
| 120 | +These do not emulate the native look-and-feel of the platform. |
| 121 | + |
| 122 | +.. class:: Directory(master=None, **options) |
| 123 | + |
| 124 | + Create a dialog prompting the user to select a directory. |
| 125 | + |
| 126 | +.. note:: The *FileDialog* class should be subclassed for custom event |
| 127 | + handling and behaviour. |
| 128 | + |
| 129 | +.. class:: FileDialog(master, title=None) |
| 130 | + |
| 131 | + Create a basic file selection dialog. |
| 132 | + |
| 133 | + .. method:: cancel_command(event=None) |
| 134 | + |
| 135 | + Trigger the termination of the dialog window. |
| 136 | + |
| 137 | + .. method:: dirs_double_event(event) |
| 138 | + |
| 139 | + Event handler for double-click event on directory. |
| 140 | + |
| 141 | + .. method:: dirs_select_event(event) |
| 142 | + |
| 143 | + Event handler for click event on directory. |
| 144 | + |
| 145 | + .. method:: files_double_event(event) |
| 146 | + |
| 147 | + Event handler for double-click event on file. |
| 148 | + |
| 149 | + .. method:: files_select_event(event) |
| 150 | + |
| 151 | + Event handler for single-click event on file. |
| 152 | + |
| 153 | + .. method:: filter_command(event=None) |
| 154 | + |
| 155 | + Filter the files by directory. |
| 156 | + |
| 157 | + .. method:: get_filter() |
| 158 | + |
| 159 | + Retrieve the file filter currently in use. |
| 160 | + |
| 161 | + .. method:: get_selection() |
| 162 | + |
| 163 | + Retrieve the currently selected item. |
| 164 | + |
| 165 | + .. method:: go(dir_or_file=os.curdir, pattern="*", default="", key=None) |
| 166 | + |
| 167 | + Render dialog and start event loop. |
| 168 | + |
| 169 | + .. method:: ok_event(event) |
| 170 | + |
| 171 | + Exit dialog returning current selection. |
| 172 | + |
| 173 | + .. method:: quit(how=None) |
| 174 | + |
| 175 | + Exit dialog returning filename, if any. |
| 176 | + |
| 177 | + .. method:: set_filter(dir, pat) |
| 178 | + |
| 179 | + Set the file filter. |
| 180 | + |
| 181 | + .. method:: set_selection(file) |
| 182 | + |
| 183 | + Update the current file selection to *file*. |
| 184 | + |
| 185 | + |
| 186 | +.. class:: LoadFileDialog(master, title=None) |
| 187 | + |
| 188 | + A subclass of FileDialog that creates a dialog window for selecting an |
| 189 | + existing file. |
| 190 | + |
| 191 | + .. method:: ok_command() |
| 192 | + |
| 193 | + Test that a file is provided and that the selection indicates an |
| 194 | + already existing file. |
| 195 | + |
| 196 | +.. class:: SaveFileDialog(master, title=None) |
| 197 | + |
| 198 | + A subclass of FileDialog that creates a dialog window for selecting a |
| 199 | + destination file. |
| 200 | + |
| 201 | + .. method:: ok_command() |
| 202 | + |
| 203 | + Test whether or not the selection points to a valid file that is not a |
| 204 | + directory. Confirmation is required if an already existing file is |
| 205 | + selected. |
| 206 | + |
| 207 | +:mod:`tkinter.commondialog` --- Dialog window templates |
| 208 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 209 | + |
| 210 | +.. module:: tkinter.commondialog |
| 211 | + :platform: Tk |
| 212 | + :synopsis: Tkinter base class for dialogs |
| 213 | + |
| 214 | +**Source code:** :source:`Lib/tkinter/commondialog.py` |
| 215 | + |
| 216 | +-------------- |
| 217 | + |
| 218 | +The :mod:`tkinter.commondialog` module provides the :class:`Dialog` class that |
| 219 | +is the base class for dialogs defined in other supporting modules. |
| 220 | + |
| 221 | +.. class:: Dialog(master=None, **options) |
| 222 | + |
| 223 | + .. method:: show(color=None, **options) |
| 224 | + |
| 225 | + Render the Dialog window. |
| 226 | + |
| 227 | + |
| 228 | +.. seealso:: |
| 229 | + |
| 230 | + Modules :mod:`tkinter.messagebox`, :ref:`tut-files` |
0 commit comments