在 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 萬次瀏覽

開啟你的 事業

參加我們的課程獲得認證

開始
廣告