在 Tkinter 的输入框中浏览文件并获取文件路径
Browsing file and getting filepath in entrybox in Tkinter
我正在尝试在 python2 中使用 Tkinter 制作一个简单的 GUI,我需要在其中制作一个输入框和一个按钮。该按钮浏览文件并在输入框中显示文件路径。我该怎么做。
我使用了允许浏览路径的 tkFileDialog.askopenfilename
但是我怎样才能让 gui 在输入框中显示该路径。
我试过如下:
import tkinter as tk
import tkFileDialog
root=tk.Tk()
def browsefunc():
filename =tkFileDialog.askopenfilename(filetypes=(("tiff files","*.tiff"),("All files","*.*")))
ent1=tk.Entry(frame,font=40)
ent1.grid(row=2,column=2)
b1=tk.Button(frame,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()
附上我需要的截图。
您真的确定您正在使用 python2 吗?因为你写的 tkinter
是小写的 t
而不是大写的 T
还是你写错了?。
无论如何,您可以使用 Entry-widget 的 insert 方法轻松地将一些文本(在您的情况下是路径)插入到您的 Entry-widget 中。在你的情况下它将是:
import Tkinter as tk
import tkFileDialog
root=tk.Tk()
ent1=tk.Entry(root,font=40)
ent1.grid(row=2,column=2)
def browsefunc():
filename =tkFileDialog.askopenfilename(filetypes=(("tiff files","*.tiff"),("All files","*.*")))
ent1.insert(tk.END, filename) # add this
b1=tk.Button(root,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()
tk.END
参数返回条目字符串的最后一个索引。
如果您已经像这样在 Entry-Widget 中写入了一些内容:
This is my path:
然后添加路径,它看起来像这样:
This is my path:/usr/bin/...
如您所见,它在 "entry-string" 的末尾添加了字符串。
索引的另一个选项是 0
而不是您的路径将位于条目小部件的开头:
/usr/bin...HI
如果我的英语很糟糕,我很抱歉!欢迎编辑!
可能会尝试此代码它可能工作
from tkinter import *
from tkinter.filedialog import askopenfilename
root=Tk()
ent1=Entry(root,font=40)
ent1.grid(row=2,column=2)
def browsefunc():
filename = askopenfilename(filetypes=(("jpg file", "*.jpg"), ("png file
",'*.png'), ("All files", "*.*"),))
ent1.insert(END, filename) # add this
b1=Button(root,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()
我正在尝试在 python2 中使用 Tkinter 制作一个简单的 GUI,我需要在其中制作一个输入框和一个按钮。该按钮浏览文件并在输入框中显示文件路径。我该怎么做。
我使用了允许浏览路径的 tkFileDialog.askopenfilename
但是我怎样才能让 gui 在输入框中显示该路径。
我试过如下:
import tkinter as tk
import tkFileDialog
root=tk.Tk()
def browsefunc():
filename =tkFileDialog.askopenfilename(filetypes=(("tiff files","*.tiff"),("All files","*.*")))
ent1=tk.Entry(frame,font=40)
ent1.grid(row=2,column=2)
b1=tk.Button(frame,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()
附上我需要的截图。
您真的确定您正在使用 python2 吗?因为你写的 tkinter
是小写的 t
而不是大写的 T
还是你写错了?。
无论如何,您可以使用 Entry-widget 的 insert 方法轻松地将一些文本(在您的情况下是路径)插入到您的 Entry-widget 中。在你的情况下它将是:
import Tkinter as tk
import tkFileDialog
root=tk.Tk()
ent1=tk.Entry(root,font=40)
ent1.grid(row=2,column=2)
def browsefunc():
filename =tkFileDialog.askopenfilename(filetypes=(("tiff files","*.tiff"),("All files","*.*")))
ent1.insert(tk.END, filename) # add this
b1=tk.Button(root,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()
tk.END
参数返回条目字符串的最后一个索引。
如果您已经像这样在 Entry-Widget 中写入了一些内容:
This is my path:
然后添加路径,它看起来像这样:
This is my path:/usr/bin/...
如您所见,它在 "entry-string" 的末尾添加了字符串。
索引的另一个选项是 0
而不是您的路径将位于条目小部件的开头:
/usr/bin...HI
如果我的英语很糟糕,我很抱歉!欢迎编辑!
可能会尝试此代码它可能工作
from tkinter import *
from tkinter.filedialog import askopenfilename
root=Tk()
ent1=Entry(root,font=40)
ent1.grid(row=2,column=2)
def browsefunc():
filename = askopenfilename(filetypes=(("jpg file", "*.jpg"), ("png file
",'*.png'), ("All files", "*.*"),))
ent1.insert(END, filename) # add this
b1=Button(root,text="DEM",font=40,command=browsefunc)
b1.grid(row=2,column=4)
root.mainloop()