-2

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

1 回答 1

1

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

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

于 2014-02-27T23:52:27.310 回答