17db96d56Sopenharmony_ciTkinter Dialogs 27db96d56Sopenharmony_ci=============== 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci:mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs 57db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci.. module:: tkinter.simpledialog 87db96d56Sopenharmony_ci :platform: Tk 97db96d56Sopenharmony_ci :synopsis: Simple dialog windows 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci**Source code:** :source:`Lib/tkinter/simpledialog.py` 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci-------------- 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciThe :mod:`tkinter.simpledialog` module contains convenience classes and 167db96d56Sopenharmony_cifunctions for creating simple modal dialogs to get a value from the user. 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci.. function:: askfloat(title, prompt, **kw) 207db96d56Sopenharmony_ci askinteger(title, prompt, **kw) 217db96d56Sopenharmony_ci askstring(title, prompt, **kw) 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci The above three functions provide dialogs that prompt the user to enter a value 247db96d56Sopenharmony_ci of the desired type. 257db96d56Sopenharmony_ci 267db96d56Sopenharmony_ci.. class:: Dialog(parent, title=None) 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci The base class for custom dialogs. 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci .. method:: body(master) 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci Override to construct the dialog's interface and return the widget that 337db96d56Sopenharmony_ci should have initial focus. 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci .. method:: buttonbox() 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci Default behaviour adds OK and Cancel buttons. Override for custom button 387db96d56Sopenharmony_ci layouts. 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_ci 427db96d56Sopenharmony_ci:mod:`tkinter.filedialog` --- File selection dialogs 437db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci.. module:: tkinter.filedialog 467db96d56Sopenharmony_ci :platform: Tk 477db96d56Sopenharmony_ci :synopsis: Dialog classes for file selection 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ci**Source code:** :source:`Lib/tkinter/filedialog.py` 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ci-------------- 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ciThe :mod:`tkinter.filedialog` module provides classes and factory functions for 547db96d56Sopenharmony_cicreating file/directory selection windows. 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ciNative Load/Save Dialogs 577db96d56Sopenharmony_ci------------------------ 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ciThe following classes and functions provide file dialog windows that combine a 607db96d56Sopenharmony_cinative look-and-feel with configuration options to customize behaviour. 617db96d56Sopenharmony_ciThe following keyword arguments are applicable to the classes and functions 627db96d56Sopenharmony_cilisted below: 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci | *parent* - the window to place the dialog on top of 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_ci | *title* - the title of the window 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ci | *initialdir* - the directory that the dialog starts in 697db96d56Sopenharmony_ci 707db96d56Sopenharmony_ci | *initialfile* - the file selected upon opening of the dialog 717db96d56Sopenharmony_ci 727db96d56Sopenharmony_ci | *filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci | *defaultextension* - default extension to append to file (save dialogs) 757db96d56Sopenharmony_ci 767db96d56Sopenharmony_ci | *multiple* - when true, selection of multiple items is allowed 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ci**Static factory functions** 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ciThe below functions when called create a modal, native look-and-feel dialog, 827db96d56Sopenharmony_ciwait for the user's selection, then return the selected value(s) or ``None`` to the 837db96d56Sopenharmony_cicaller. 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ci.. function:: askopenfile(mode="r", **options) 867db96d56Sopenharmony_ci askopenfiles(mode="r", **options) 877db96d56Sopenharmony_ci 887db96d56Sopenharmony_ci The above two functions create an :class:`Open` dialog and return the opened 897db96d56Sopenharmony_ci file object(s) in read-only mode. 907db96d56Sopenharmony_ci 917db96d56Sopenharmony_ci.. function:: asksaveasfile(mode="w", **options) 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci Create a :class:`SaveAs` dialog and return a file object opened in write-only mode. 947db96d56Sopenharmony_ci 957db96d56Sopenharmony_ci.. function:: askopenfilename(**options) 967db96d56Sopenharmony_ci askopenfilenames(**options) 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ci The above two functions create an :class:`Open` dialog and return the 997db96d56Sopenharmony_ci selected filename(s) that correspond to existing file(s). 1007db96d56Sopenharmony_ci 1017db96d56Sopenharmony_ci.. function:: asksaveasfilename(**options) 1027db96d56Sopenharmony_ci 1037db96d56Sopenharmony_ci Create a :class:`SaveAs` dialog and return the selected filename. 1047db96d56Sopenharmony_ci 1057db96d56Sopenharmony_ci.. function:: askdirectory(**options) 1067db96d56Sopenharmony_ci 1077db96d56Sopenharmony_ci | Prompt user to select a directory. 1087db96d56Sopenharmony_ci | Additional keyword option: 1097db96d56Sopenharmony_ci | *mustexist* - determines if selection must be an existing directory. 1107db96d56Sopenharmony_ci 1117db96d56Sopenharmony_ci.. class:: Open(master=None, **options) 1127db96d56Sopenharmony_ci SaveAs(master=None, **options) 1137db96d56Sopenharmony_ci 1147db96d56Sopenharmony_ci The above two classes provide native dialog windows for saving and loading 1157db96d56Sopenharmony_ci files. 1167db96d56Sopenharmony_ci 1177db96d56Sopenharmony_ci**Convenience classes** 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ciThe below classes are used for creating file/directory windows from scratch. 1207db96d56Sopenharmony_ciThese do not emulate the native look-and-feel of the platform. 1217db96d56Sopenharmony_ci 1227db96d56Sopenharmony_ci.. class:: Directory(master=None, **options) 1237db96d56Sopenharmony_ci 1247db96d56Sopenharmony_ci Create a dialog prompting the user to select a directory. 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_ci.. note:: The *FileDialog* class should be subclassed for custom event 1277db96d56Sopenharmony_ci handling and behaviour. 1287db96d56Sopenharmony_ci 1297db96d56Sopenharmony_ci.. class:: FileDialog(master, title=None) 1307db96d56Sopenharmony_ci 1317db96d56Sopenharmony_ci Create a basic file selection dialog. 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci .. method:: cancel_command(event=None) 1347db96d56Sopenharmony_ci 1357db96d56Sopenharmony_ci Trigger the termination of the dialog window. 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ci .. method:: dirs_double_event(event) 1387db96d56Sopenharmony_ci 1397db96d56Sopenharmony_ci Event handler for double-click event on directory. 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ci .. method:: dirs_select_event(event) 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_ci Event handler for click event on directory. 1447db96d56Sopenharmony_ci 1457db96d56Sopenharmony_ci .. method:: files_double_event(event) 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci Event handler for double-click event on file. 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci .. method:: files_select_event(event) 1507db96d56Sopenharmony_ci 1517db96d56Sopenharmony_ci Event handler for single-click event on file. 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_ci .. method:: filter_command(event=None) 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ci Filter the files by directory. 1567db96d56Sopenharmony_ci 1577db96d56Sopenharmony_ci .. method:: get_filter() 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ci Retrieve the file filter currently in use. 1607db96d56Sopenharmony_ci 1617db96d56Sopenharmony_ci .. method:: get_selection() 1627db96d56Sopenharmony_ci 1637db96d56Sopenharmony_ci Retrieve the currently selected item. 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci .. method:: go(dir_or_file=os.curdir, pattern="*", default="", key=None) 1667db96d56Sopenharmony_ci 1677db96d56Sopenharmony_ci Render dialog and start event loop. 1687db96d56Sopenharmony_ci 1697db96d56Sopenharmony_ci .. method:: ok_event(event) 1707db96d56Sopenharmony_ci 1717db96d56Sopenharmony_ci Exit dialog returning current selection. 1727db96d56Sopenharmony_ci 1737db96d56Sopenharmony_ci .. method:: quit(how=None) 1747db96d56Sopenharmony_ci 1757db96d56Sopenharmony_ci Exit dialog returning filename, if any. 1767db96d56Sopenharmony_ci 1777db96d56Sopenharmony_ci .. method:: set_filter(dir, pat) 1787db96d56Sopenharmony_ci 1797db96d56Sopenharmony_ci Set the file filter. 1807db96d56Sopenharmony_ci 1817db96d56Sopenharmony_ci .. method:: set_selection(file) 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ci Update the current file selection to *file*. 1847db96d56Sopenharmony_ci 1857db96d56Sopenharmony_ci 1867db96d56Sopenharmony_ci.. class:: LoadFileDialog(master, title=None) 1877db96d56Sopenharmony_ci 1887db96d56Sopenharmony_ci A subclass of FileDialog that creates a dialog window for selecting an 1897db96d56Sopenharmony_ci existing file. 1907db96d56Sopenharmony_ci 1917db96d56Sopenharmony_ci .. method:: ok_command() 1927db96d56Sopenharmony_ci 1937db96d56Sopenharmony_ci Test that a file is provided and that the selection indicates an 1947db96d56Sopenharmony_ci already existing file. 1957db96d56Sopenharmony_ci 1967db96d56Sopenharmony_ci.. class:: SaveFileDialog(master, title=None) 1977db96d56Sopenharmony_ci 1987db96d56Sopenharmony_ci A subclass of FileDialog that creates a dialog window for selecting a 1997db96d56Sopenharmony_ci destination file. 2007db96d56Sopenharmony_ci 2017db96d56Sopenharmony_ci .. method:: ok_command() 2027db96d56Sopenharmony_ci 2037db96d56Sopenharmony_ci Test whether or not the selection points to a valid file that is not a 2047db96d56Sopenharmony_ci directory. Confirmation is required if an already existing file is 2057db96d56Sopenharmony_ci selected. 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci:mod:`tkinter.commondialog` --- Dialog window templates 2087db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2097db96d56Sopenharmony_ci 2107db96d56Sopenharmony_ci.. module:: tkinter.commondialog 2117db96d56Sopenharmony_ci :platform: Tk 2127db96d56Sopenharmony_ci :synopsis: Tkinter base class for dialogs 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_ci**Source code:** :source:`Lib/tkinter/commondialog.py` 2157db96d56Sopenharmony_ci 2167db96d56Sopenharmony_ci-------------- 2177db96d56Sopenharmony_ci 2187db96d56Sopenharmony_ciThe :mod:`tkinter.commondialog` module provides the :class:`Dialog` class that 2197db96d56Sopenharmony_ciis the base class for dialogs defined in other supporting modules. 2207db96d56Sopenharmony_ci 2217db96d56Sopenharmony_ci.. class:: Dialog(master=None, **options) 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_ci .. method:: show(color=None, **options) 2247db96d56Sopenharmony_ci 2257db96d56Sopenharmony_ci Render the Dialog window. 2267db96d56Sopenharmony_ci 2277db96d56Sopenharmony_ci 2287db96d56Sopenharmony_ci.. seealso:: 2297db96d56Sopenharmony_ci 2307db96d56Sopenharmony_ci Modules :mod:`tkinter.messagebox`, :ref:`tut-files` 231