我已经看过很多关于使用askopenfilename()的帖子,但是一旦我选择了所述文件,我仍然无法找到任何东西来帮助我在输入框中显示完整的文件路径。下面我已经把我离开的地方包括在内。
from tkinter import *
from tkinter.filedialog import askopenfilename
global a
def browse():
a = askopenfilename(title='select new file')
root = Tk()
a = StringVar()
l = Label(root, text="new file: ")
l.pack()
e = Entry(root, width=25, textvariable=a)
e.pack()
b = Button(root, text="Browse", command=browse)
b.pack()
root.mainloop()
答案 0 :(得分:1)
在browse
函数中,局部变量a确实包含文件的完整路径。问题是你必须调用StringVar的.set()
方法,你不能只分配你绑定到StringVar的变量。将a = askopenfilename(title='select new file')
替换为a.set(askopenfilename(title='select new file'))
,您将看到文件名出现在界面的StringVar中。
请注意,您的程序在GUI界面任务中结构不合理,但我认为您目前主要的难点是学习使用原语。