我刚刚开始玩Tkinter。我想有一个带有entry.widget的小窗口和旁边的浏览按钮,可以输入文件路径或通过单击"浏览"选择文件。按钮。这是我的第一个方法:
from Tkinter import *
import tkFileDialog
#import os
master = Tk()
def callback():
path = tkFileDialog.askopenfilename()
print path
w = Label(master, text="File Path:")
e = Entry(master)
b = Button(master,text="Browse", command = callback)
w.pack(side=LEFT)
e.pack(side=LEFT)
b.pack(side=LEFT)
master.mainloop()
我的问题是,我不知道如何在选择文件后将文件路径写入条目窗口小部件。我认为它可能适用于像
这样的东西e.insert(path)
但我无法访问路径,因为它只是回调函数中的局部变量。我已经尝试将其指定为全局变量,但它没有成功。
提前感谢您的任何建议。
答案 0 :(得分:2)
您可以使用Tkinter.StringVar
作为参赛作品:
var = StringVar()
e = Entry(master, textvariable=var)
b = Button(master, text="Browse",
command=lambda:var.set(tkFileDialog.askopenfilename()))
答案 1 :(得分:2)
使用'插入':
from Tkinter import *
import tkFileDialog
master = Tk()
def callback():
path = tkFileDialog.askopenfilename()
e.delete(0, END) # Remove current text in entry
e.insert(0, path) # Insert the 'path'
# print path
w = Label(master, text="File Path:")
e = Entry(master, text="")
b = Button(master, text="Browse", command=callback)
w.pack(side=LEFT)
e.pack(side=LEFT)
b.pack(side=LEFT)
master.mainloop()