如何在Tkinter中打开多个文件名并将文件名添加到列表中?
在Tkinter中,要实现打开多个文件名并将文件名添加到列表中,首先需要使用filedialog
模块来打开文件对话框,然后将所选文件的文件名添加到列表中。
打开文件对话框并获取文件名
使用filedialog
模块需要先导入该模块,然后使用filedialog.askopenfilenames()
方法来打开文件对话框并获取所选文件的文件名。下面是示例代码:
from tkinter import filedialog
import tkinter as tk
root = tk.Tk()
root.withdraw()
file_names = filedialog.askopenfilenames()
print(file_names)
上面的代码首先将Tkinter主窗口隐藏,然后打开文件对话框并获取所选文件的文件名,最后输出文件名。需要注意的是,askopenfilenames()
方法返回的文件名是一个元组,需要使用索引来获取其中一个文件名。
将文件名添加到列表中
获取所选文件名后,需要将其添加到列表中。可以使用Listbox
控件来显示文件名列表。首先创建一个Listbox
对象,然后将所选文件名添加到该对象中。下面是示例代码:
from tkinter import filedialog
import tkinter as tk
root = tk.Tk()
root.withdraw()
file_names = filedialog.askopenfilenames()
file_list = tk.Listbox(root)
for file_name in file_names:
file_list.insert(tk.END, file_name)
file_list.pack()
root.mainloop()
上面的代码首先创建一个Listbox
对象,然后使用for
循环将所选文件名添加到该对象中,最后将该对象显示出来。需要注意的是,Listbox
对象的insert()
方法用来向该对象中添加元素,第一个参数是位置,如果要将元素添加到列表末尾,可以使用tk.END
。
完整代码如下:
from tkinter import filedialog
import tkinter as tk
root = tk.Tk()
root.withdraw()
file_names = filedialog.askopenfilenames()
file_list = tk.Listbox(root)
for file_name in file_names:
file_list.insert(tk.END, file_name)
file_list.pack()
root.mainloop()
结论
在本文中,我们介绍了如何在Tkinter中打开多个文件名并将文件名添加到列表中。使用filedialog
模块可以方便地打开文件对话框并获取所选文件的文件名,使用Listbox
控件可以方便地将文件名添加到列表中,并在界面中显示出来。