在 Tkinter TreeView 中删除和编辑项目


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

可以使用 tree.selection() 函数选择项目后编辑和删除 Treeview 组件项目。选择某个项目后,可以执行特定操作来删除或编辑该项目。

示例

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame
win = Tk()

# Set the size of the tkinter window
win.geometry("700x350")

# Create an instance of Style widget
style = ttk.Style()
style.theme_use('clam')

# Add a Treeview widget
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")

# Insert the data in Treeview widget
tree.insert('', 'end', text="1", values=('1', 'Honda'))
tree.insert('', 'end', text="2", values=('2', '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():
   # Get selected item to Edit
   selected_item = tree.selection()[0]
   tree.item(selected_item, text="blub", values=("foo", "bar"))

def delete():
   # Get selected item to Delete
   selected_item = tree.selection()[0]
   tree.delete(selected_item)

# Add Buttons to Edit and Delete the Treeview items
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 行,然后点击“删除”按钮。

将生成以下输出 −

更新于:18-Jun-2021

1.5 万次浏览

开启你的 事业

参加我们的课程获得认证

开始
广告