在Tkinter TreeView中删除和编辑项目
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="公司")
# 在TreeView小部件中插入数据
tree.insert('', 'end', text="1", values=('1', '本田'))
tree.insert('', 'end', text="2", values=('2', '现代'))
tree.insert('', 'end', text="3", values=('3', '特斯拉'))
tree.insert('', 'end', text="4", values=('4', '大众'))
tree.insert('', 'end', text="5", values=('5', '塔塔汽车'))
tree.insert('', 'end', text="6", values=('6', '雷诺'))
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="编辑", command=edit)
edit_btn.pack()
del_btn = ttk.Button(win, text="删除", command=delete)
del_btn.pack()
win.mainloop()
输出
执行上述代码将显示一个窗口,其中包含一个汽车型号和ID列表。
如果我们选择特定的行并按下编辑或删除按钮,则它将执行程序中定义的操作。
选择第4行并单击“删除”按钮。
它将产生以下输出−