文件对话框是桌面应用里经常使用的功能,你想从本地选择一个文件,需要使用文件对话框,你想将一个文件保存起来,选择保存路径的时候,需要使用文件对话框。
文件对话框的功能非常多,咱们先只学习最常用的3个
先设计界面,效果图如下
点击右侧的选择按钮,弹出文件对话框,选中一个文件后点击open按钮
最后再左侧的输入框里显示所选择文件的路径
示例代码:
import tkinter as tk
from tkinter import filedialog
window = tk.Tk()
window.title('文件对话框') # 设置窗口的标题
window.geometry('300x50') # 设置窗口的大小
path_var = tk.StringVar()
entry = tk.Entry(window, textvariable=path_var)
entry.place(x=10, y=10, anchor='nw')
def click():
# 设置可以选择的文件类型,不属于这个类型的,无法被选中
filetypes = [("文本文件", "*.txt"), ('Python源文件', '*.py')]
file_name= filedialog.askopenfilename(title='选择单个文件',
filetypes=filetypes,
initialdir='./' # 打开当前程序工作目录
)
path_var.set(file_name)
tk.Button(window, text='选择', command=click).place(x=220, y=10, anchor='nw')
window.mainloop()
选择文件后,点击文件对话框的open按钮,文件对话框就会小时,同时返回所选择文件的路径。
如果你想选择一个文件目录来进行操作,那么就可以使用askdirectory方法
"""
使用文件对话框选择一个文件夹
"""
import tkinter as tk
from tkinter import filedialog
window = tk.Tk()
window.title('文件对话框') # 设置窗口的标题
window.geometry('300x50') # 设置窗口的大小
path_var = tk.StringVar()
entry = tk.Entry(window, textvariable=path_var)
entry.place(x=10, y=10, anchor='nw')
def click():
file_name= filedialog.askdirectory(title='选择一个文件夹',
initialdir='./' # 打开当前程序工作目录
)
path_var.set(file_name)
tk.Button(window, text='选择', command=click).place(x=220, y=10, anchor='nw')
window.mainloop()
操作过程与选择文件基本一致,效果图如下
先看效果图
点击选择后,弹出的对话框要求你输入文件名,选择文件夹,点击save后,在界面左侧的输入框里会显示文件的保存地址,当然,这个程序只是获取了文件路径,如何保存,需要你进一步操作
示例代码
"""
获取保存文件的文件名
"""
import tkinter as tk
from tkinter import filedialog, messagebox
window = tk.Tk()
window.title('文件对话框') # 设置窗口的标题
window.geometry('300x50') # 设置窗口的大小
path_var = tk.StringVar()
entry = tk.Entry(window, textvariable=path_var)
entry.place(x=10, y=10, anchor='nw')
def click():
filetypes = [("文本文件", "*.txt"), ('Python源文件', '*.py')]
file_name= filedialog.asksaveasfilename(title='保存文件',
filetypes=filetypes,
initialdir='./' # 打开当前程序工作目录
)
path_var.set(file_name)
tk.Button(window, text='选择', command=click).place(x=220, y=10, anchor='nw')
window.mainloop()
QQ交流群: 211426309