我正在创建一个简单的程序,出于这个问题的目的,只需打开一个文件对话框,要求用户选择一个目录,然后我将其用于其他目的。我实现此方法getSaveLocation()
的方式是,我使用TKinter使用Tk()
创建主GUI,使用withdraw()
隐藏它,然后使用filedialog.askdirectory()
获取目录将要求用户在其计算机上选择一个目录,并将该目录路径存储在名为directory的变量中。这显示在下面的代码中。
我已将完整程序包含在一个pastebin中:Pastebin Link
当我在底部调用此方法getSaveLocation()
时(请参阅下面的pastebin行49和50),该方法可以正常工作。生成对话框,并且选择的目录路径成功存储在目录变量中,我已使用print()
测试了该目录变量。
但是,当我从另一个方法调用此方法时,比如main(),然后运行main()
,没有任何反应。在我看来,除了模块化之外似乎没有区别。
我做错了什么?
def getSaveLocation():
root = tk.Tk()
root.withdraw()
directory = filedialog.askdirectory()
return directory