从askopenfilename()返回一个字符串到一个输入框

时间:2014-02-27 22:31:28

标签: python tkinter tkinter-entry

我已经看过很多关于使用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()

1 个答案:

答案 0 :(得分:1)

browse函数中,局部变量a确实包含文件的完整路径。问题是你必须调用StringVar的.set()方法,你不能只分配你绑定到StringVar的变量。将a = askopenfilename(title='select new file')替换为a.set(askopenfilename(title='select new file')),您将看到文件名出现在界面的StringVar中。

请注意,您的程序在GUI界面任务中结构不合理,但我认为您目前主要的难点是学习使用原语。