我已经看到了很多关于使用 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()
在browse
函数中,局部变量 a 确实包含文件的完整路径。问题是你必须调用 StringVar 的 .set()
方法,你不能只分配给你绑定到 StringVar 的变量。将a = askopenfilename(title='select new file')
替换为a.set(askopenfilename(title='select new file'))
,您将看到文件名出现在界面的 StringVar 中。
程序对于 GUI 界面任务的结构不佳,但我认为目前您的主要困难是学习使用原语。