Python 用tkinter ,打开一个文件对话框,选择的文件显示在输入字段

编写 GUI 程序,如图所示,用户单击 Browse 按钮打开一个文件对话框,然

后选择一个文件,选择的文件显示在输入字段中。单击 ShowResult 按钮计算

和显示文件中每个字母的出现次数

如下代码基本实现你想要的效果,你可根据情况作进一步调整完善,在show()函数中对读取的数据进行字符统计,写入文本框即可。如对你有帮助,请点击采纳。

import tkinter as tk
from tkinter.scrolledtext import ScrolledText
from tkinter import filedialog

root=tk.Tk()
root.title('Ocurrence of Letters')
root.geometry('900x500+400+300')
v=tk.StringVar()
st = ScrolledText(root, width=80,  height=36)
st.grid(row=1, column=0,sticky='w')
st1=ScrolledText(root, width=40, height=36)
st1.grid(row=1, column=1,columnspan=2,sticky='w')
lbl1=tk.Label(root,text="Enter a filename:")
lbl1.grid(row=2, column=0,sticky='w',pady=3)
ent1 = tk.Entry(root, textvariable=v, width=20,)
ent1.grid(row=2, column=0, pady=3)

def op():
    fi=filedialog.askopenfile(initialdir='F:/test')
    v.set(fi.name)
btn1=tk.Button(root,text="Browser",width=20,command=lambda:op())
btn1.grid(row=2,column=1,pady=3)

def show():
    f=v.get()
    txt=open(f,'r').read()
    st1.insert('0.0',txt)
btn2 = tk.Button(root, text="ShowResult",
                 command=show)
btn2.grid(row=2, column=2, pady=3)
root.mainloop()

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

你是用什么gui框架写的?ShowResult 按钮应该是对文件内容进行数据统计的吧?

可以使用tkinter完成GUI界面编写,在选中文件之后自动获取文件路径,python open之后对字符串进行处理,统计字符并完成输出结果。具体的要求可以进行补充。如有帮助请采纳