在 Tkinter TreeView 中删除和编辑项目

tkinterpythongui-programming更新于 2025/7/18 19:56:17

Tkinter Treeview 小部件用于以分层结构显示数据。在此结构中,每行可以代表一个文件或一个目录。每个目录包含文件或其他目录。如果我们想创建一个 Treeview 小部件,那么我们可以使用 Treeview(parent, columns)  构造函数来构建表。

可以使用 tree.selection() 函数选择项目来编辑和删除 Treeview 小部件项目。一旦选择了某个项目,我们就可以执行某些操作来删除或编辑该项目。

示例

# 导入所需的库
from tkinter import *
from tkinter import ttk

# 创建 tkinter 框架的实例
win = Tk()

# 设置 tkinter 窗口的大小
win.geometry("700x350")

# 创建 Style 小部件的实例
style = ttk.Style()
style.theme_use('clam')

# 添加 Treeview 小部件
tree = ttk.Treeview(win, column=("c1", "c2"), show='headings', height=8)
tree.column("# 1", anchor=CENTER)
tree.heading("# 1", text="ID")
tree.column("# 2", anchor=CENTER)
tree.heading("# 2", text="Company")

# 在 Treeview 小部件中插入数据
tree.insert('', 'end', text="1", values=('1&39;, 'Honda'))
tree.insert('', 'end', text="2", values=('2&39;, 'Hyundai'))
tree.insert('', 'end', text="3", values=('3', 'Tesla'))
tree.insert('', 'end', text="4", values=('4', 'Wolkswagon'))
tree.insert('', 'end', text="5", values=('5', 'Tata Motors'))
tree.insert('', 'end', text="6", values=('6', 'Renault'))

tree.pack()

def edit():
   # 获取要编辑的选定项目
   selected_item = tree.selection()[0]
   tree.item(selected_item, text="blub", values=("foo", "bar"))

def delete():
   # 获取要删除的选定项目
   selected_item = tree.selection()[0]
   tree.delete(selected_item)

# 添加按钮以编辑和删除 Treeview 项目
edit_btn = ttk.Button(win, text="Edit", command=edit)
edit_btn.pack()
del_btn = ttk.Button(win, text="Delete", command=delete)
del_btn.pack()

win.mainloop()

输出

执行上述代码将显示一个窗口,其中包含汽车型号和 ID 列表。

如果我们选择某一行并按下编辑或删除按钮,那么它将执行在程序。

选择第 4 行并单击"删除"按钮。

它能够产生以下输出 −


相关文章


有用资源