.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.DirDialog:

==========================================================================================================================================
|phoenix_title|  **wx.DirDialog**
==========================================================================================================================================

This class represents the directory chooser dialog. 
         





.. _DirDialog-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  

- ``wx.DD_DEFAULT_STYLE``: Equivalent to a combination of ``wx.DEFAULT_DIALOG_STYLE`` and ``wx.RESIZE_BORDER``.  
- ``wx.DD_DIR_MUST_EXIST``: The dialog will allow the user to choose only an existing folder. When this style is not given, a "Create new directory" button is added to the dialog (on Windows) or some other way is provided to the user to type the name of a new folder.  
- ``wx.DD_CHANGE_DIR``: Change the current working directory to the directory chosen by the user. This flag cannot be used with the  ``DD_MULTIPLE``   style.   
- ``wx.DD_MULTIPLE``: Allow the user to select multiple directories. This flag is only available since wxWidgets 3.1.4  
- ``wx.DD_SHOW_HIDDEN``: Show hidden and system folders. This flag is only available since wxWidgets 3.1.4  

Notice that
 ``RESIZE_BORDER``   has special side effect under Windows where two different directory selection dialogs are available and this style also implicitly selects the new version as the old one always has fixed size. As the new version is almost always preferable, it is recommended that   ``RESIZE_BORDER``   style be always used. This is the case if the dialog is created with the default style value but if you need to use any additional styles you should still specify   ``DD_DEFAULT_STYLE``   unless you explicitly need to use the old dialog version under Windows. E.g. do  ::

            dlg = wx.DirDialog (None, "Choose input directory", "",
                                wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST)

instead of just using  ``DD_DIR_MUST_EXIST``   style alone. 








         



.. note:: 

   MacOS 10.11+ does not display a title bar on the dialog. Use :meth:`SetMessage`   to change the string displayed to the user at the top of the dialog after creation. The :meth:`SetTitle`   method is provided for compatibility with pre-10.11 MacOS versions that do still support displaying the title bar.  







.. seealso:: :ref:`DirDialog Overview <dirdialog overview>`, :ref:`wx.FileDialog`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>DirDialog</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.DirDialog_inheritance.svg" alt="Inheritance diagram of DirDialog" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.DirDialog.html" title="This class represents the directory chooser dialog." alt="" coords="61,466,182,495"/> <area shape="rect" id="node2" href="wx.Dialog.html" title="A dialog box is a window with a title bar and sometimes a system menu, which can be moved around the screen." alt="" coords="72,389,171,418"/> <area shape="rect" id="node3" href="wx.TopLevelWindow.html" title="wx.TopLevelWindow  is a common base class for wx.Dialog  and wx.Frame." alt="" coords="34,313,209,341"/> <area shape="rect" id="node4" href="wx.NonOwnedWindow.html" title="Common base class for all non-child windows." alt="" coords="26,236,217,265"/> <area shape="rect" id="node5" href="wx.Window.html" title="wx.Window  is the base class for all windows and represents any visible object on screen." alt="" coords="66,159,177,188"/> <area shape="rect" id="node6" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="55,82,188,111"/> <area shape="rect" id="node7" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="5,5,104,34"/> <area shape="rect" id="node8" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="128,5,251,34"/> </map> 
   </p>
   </div>

|


|appearance| Control Appearance
===============================

|

.. container:: control-appearance-figures

   .. figure:: _static/images/widgets/fullsize/wxmsw/wx.dirdialog.png
      :alt: wxMSW
      :figclass: appearance-figure

      **wxMSW**


   .. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png
      :alt: wxMAC
      :figclass: appearance-figure

      **wxMAC**


   .. figure:: _static/images/widgets/fullsize/wxgtk/wx.dirdialog.png
      :alt: wxGTK
      :figclass: appearance-figure

      **wxGTK**

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.DirDialog.__init__`                                                   Constructor.
:meth:`~wx.DirDialog.GetClassDefaultAttributes`                                  
:meth:`~wx.DirDialog.GetMessage`                                                 Returns the message that will be displayed on the dialog.
:meth:`~wx.DirDialog.GetPath`                                                    Returns the default or user-selected path.
:meth:`~wx.DirDialog.GetPaths`                                                   Returns a list of the currently selected paths.
:meth:`~wx.DirDialog.SetMessage`                                                 Sets the message that will be displayed on the dialog.
:meth:`~wx.DirDialog.SetPath`                                                    Sets the default path.
:meth:`~wx.DirDialog.ShowModal`                                                  Shows the dialog, returning ``wx.ID_OK`` if the user pressed ``wx.OK``, and ``wx.ID_CANCEL`` otherwise.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.DirDialog.Message`                                                    See :meth:`~wx.DirDialog.GetMessage` and :meth:`~wx.DirDialog.SetMessage`
:attr:`~wx.DirDialog.Path`                                                       See :meth:`~wx.DirDialog.GetPath` and :meth:`~wx.DirDialog.SetPath`
:attr:`~wx.DirDialog.Paths`                                                      See :meth:`~wx.DirDialog.GetPaths`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.DirDialog(Dialog)

   **Possible constructors**::

       DirDialog(parent, message=DirSelectorPromptStr, defaultPath='',
                 style=DD_DEFAULT_STYLE, pos=DefaultPosition, size=DefaultSize,
                 name=DirDialogNameStr) -> None
       
   
   This class represents the directory chooser dialog.



   .. method:: __init__(self, parent, message=DirSelectorPromptStr, defaultPath='', style=DD_DEFAULT_STYLE, pos=DefaultPosition, size=DefaultSize, name=DirDialogNameStr)

      Constructor. 
                 

      Use :meth:`ShowModal`   to show the dialog. 




      :param `parent`: Parent window.   
      :type `parent`: wx.Window
      :param `message`: Message to show on the dialog.   
      :type `message`: string
      :param `defaultPath`: The default path, or the empty string.   
      :type `defaultPath`: string
      :param `style`: The dialog style. See :ref:`wx.DirDialog`    
      :type `style`: long
      :param `pos`: Dialog position. Ignored under Windows.   
      :type `pos`: wx.Point
      :param `size`: Dialog size. Ignored under Windows.   
      :type `size`: wx.Size
      :param `name`: The dialog name, not used.   
      :type `name`: string


















      :rtype: `None`     




                  





   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetMessage(self)

      Returns the message that will be displayed on the dialog. 
                 

      :rtype: `str`








   .. method:: GetPath(self)

      Returns the default or user-selected path. 
                 


                

      :rtype: `str`







      .. note:: 

         This function can't be used with dialogs which have the  ``DD_MULTIPLE``   style, use  :meth:`GetPaths`   instead.   








   .. method:: GetPaths(self)

      Returns a list of the currently selected paths. 

      :rtype: `List[str]`     








   .. method:: SetMessage(self, message)

      Sets the message that will be displayed on the dialog. 
                 


      :param `message`: 
      :type `message`: string




      :rtype: `None`     








   .. method:: SetPath(self, path)

      Sets the default path. 
                 


      :param `path`: 
      :type `path`: string




      :rtype: `None`     








   .. method:: ShowModal(self)

      Shows the dialog, returning ``wx.ID_OK`` if the user pressed ``wx.OK``, and ``wx.ID_CANCEL`` otherwise. 
                 

      :rtype: `int`








   .. attribute:: Message

      See :meth:`~wx.DirDialog.GetMessage` and :meth:`~wx.DirDialog.SetMessage`


   .. attribute:: Path

      See :meth:`~wx.DirDialog.GetPath` and :meth:`~wx.DirDialog.SetPath`


   .. attribute:: Paths

      See :meth:`~wx.DirDialog.GetPaths`