"""
.. moduleauthor:: easygui developers and Stephen Raymond Ferg
.. default-domain:: py
.. highlight:: python
Version |release|
"""
import os
try:
from . import utils as ut
except (SystemError, ValueError, ImportError):
import utils as ut
try:
import tkinter as tk # python 3
import tkinter.font as tk_Font
except:
import Tkinter as tk # python 2
import tkFont as tk_Font
# -------------------------------------------------------------------
# diropenbox
# -------------------------------------------------------------------
def diropenbox(msg=None, title=None, default=None):
"""
A dialog to get a directory name.
Returns the name of a directory, or None if user chose to cancel.
If the "default" argument specifies a directory name, and that
directory exists, then the dialog box will start with that directory.
:param str msg: used in the window title on some platforms
:param str title: the window title
:param str default: starting directory when dialog opens
:return: Normalized path selected by user
"""
title = ut.getFileDialogTitle(msg, title)
localRoot = tk.Tk()
localRoot.withdraw()
localRoot.lift()
localRoot.attributes('-topmost', 1)
localRoot.attributes('-topmost', 0)
if not default:
default = None
localRoot.update() #fix ghost window issue #119 on mac.
f = ut.tk_FileDialog.askdirectory(
parent=localRoot, title=title, initialdir=default, initialfile=None
)
localRoot.destroy()
if not f:
return None
return os.path.normpath(f)
if __name__ == '__main__':
print("Hello from base_boxes")
my_dir = diropenbox(
"You really should open a file",
title="Open a dir",
default='./')
print("directory {} selected.".format(my_dir))