您可以按照以下步骤使用 TreeView 控件显示文件夹下的所有文件列表:
- 导入所需的模块:
import os import tkinter as tk from tkinter import ttk
- 创建主窗口和 TreeView 控件:
root = tk.Tk() root.title("File Explorer") tree = ttk.Treeview(root) tree.pack()
- 定义一个函数来获取文件夹下的所有文件列表并将其显示在 TreeView 控件中:
def populate_treeview(path, parent): for item in os.listdir(path): item_path = os.path.join(path, item) isdir = os.path.isdir(item_path) item_id = tree.insert(parent, "end", text=item, open=False, tags=("directory" if isdir else "file",)) if isdir: populate_treeview(item_path, item_id)
- 设置 TreeView 控件的列和列标题:
tree["columns"] = ("type",) tree.column("#0", width=300) tree.column("type", width=100) tree.heading("#0", text="Name") tree.heading("type", text="Type")
- 将文件夹下的所有文件列表显示在 TreeView 控件中:
root_directory = "/path/to/directory" # 替换为您想要显示文件列表的文件夹路径 populate_treeview(root_directory, "")
- 运行主循环:
root.mainloop()
完整示例代码如下:
import os import tkinter as tk from tkinter import ttk def populate_treeview(path, parent): for item in os.listdir(path): item_path = os.path.join(path, item) isdir = os.path.isdir(item_path) item_id = tree.insert(parent, "end", text=item, open=False, tags=("directory" if isdir else "file",)) if isdir: populate_treeview(item_path, item_id) root = tk.Tk() root.title("File Explorer") tree = ttk.Treeview(root) tree.pack() tree["columns"] = ("type",) tree.column("#0", width=300) tree.column("type", width=100) tree.heading("#0", text="Name") tree.heading("type", text="Type") root_directory = "/path/to/directory" # 替换为您想要显示文件列表的文件夹路径 populate_treeview(root_directory, "") root.mainloop()
请记得将 “/path/to/directory” 替换为您想要显示文件列表的文件夹路径。