python - 在 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
索引,而不是您的路径将位于 entry-widget 的开头:
/usr/bin...HI
如果我的英语很糟糕,我很抱歉!随意编辑它!
推荐阅读
- arrays - Save dynamic size of Ros messages in arrays
- java - Spring application starts with wrong page
- cobol - COBOL 错误:组项不能有 PICTURE 子句
- c# - ASP.net core api cant add printer
- angular - 一种为订阅值中的每个值调用订阅而无需回调地狱的方法
- sql - Is there a performance benefit to repeating a WHERE filter in subqueries?
- javascript - Get the total of cell values of rows containing same date in Javascript
- c++ - Confused about passing argument via custom functional object
- stream - 跳到另一个 mp3 时出现延迟
- xamarin.forms - Xamarin 表单应用程序中的日期范围选择器