วิดเจ็ต Tkinter Treeview ใช้เพื่อแสดงข้อมูลในโครงสร้างแบบลำดับชั้น ในโครงสร้างนี้ แต่ละแถวสามารถแสดงไฟล์หรือไดเร็กทอรี แต่ละไดเร็กทอรีประกอบด้วยไฟล์หรือไดเร็กทอรีเพิ่มเติม หากเราต้องการสร้างวิดเจ็ต Treeview เราก็สามารถใช้ Treeview(parent, columns) ตัวสร้างเพื่อสร้างตาราง
รายการวิดเจ็ต Treeview สามารถแก้ไขและลบได้โดยการเลือกรายการโดยใช้ tree.selection() การทำงาน. เมื่อเลือกรายการแล้ว เราสามารถดำเนินการบางอย่างเพื่อลบหรือแก้ไขรายการได้
ตัวอย่าง
# 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 แล้วคลิกปุ่ม "ลบ"
มันจะสร้างผลลัพธ์ต่อไปนี้ -