我正在运行Tkinter,使用函数filedialog.askopenfilename()来获取文件路径。程序正确地得到了文件路径,但是一旦我在我想要的文件上点击 "打开",代码destroy()并没有破坏正在打开的GUI窗口。
我已经尝试了destroy()和quit()函数,尽管我读到destroy()是首选。我读到,如果我做root.destroy(),它应该会破坏正在打开的GUI。现在发生的情况是,在用户选择了一个文件,然后点击打开,查找器窗口就变得完全灰暗,没有反应。我猜这是我们可以执行销毁的时间点,但它对我不起作用。
我真的不知道我在哪里出了问题。我真的想删除Tkinter浏览器。我的代码确实在浏览器打开的情况下继续执行,但这是不专业的。
import tkinter
from tkinter import filedialog
import os
root = tkinter.Tk()
root.withdraw() #use to hide tkinter window
def search_for_file_path ():
currdir = os.getcwd()
tempdir = filedialog.askopenfilename(parent=root, initialdir=currdir, title='Please select a directory')
if len(tempdir) > 0:
print ("You chose: %s" % tempdir)
return tempdir
file_path_variable = search_for_file_path()
root = tkinter.Tk()
root.destroy()
print ("\nfile_path_variable = ", file_path_variable)