为什么调用Tkinter方法直接工作,而不是从另一个方法工作?

时间:2018-04-13 01:41:22

标签: python tkinter

我正在创建一个简单的程序,出于这个问题的目的,只需打开一个文件对话框,要求用户选择一个目录,然后我将其用于其他目的。我实现此方法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

0 个答案:

没有答案