Tkinter Treeview 删除项目

Tkinter Treeview 删除项目

在Treeview控件中可以使用delete( )方法删除所选的项目,下面将以实例说明。

示例1

删除所选的项目,这个程序在建立Treeview控件时设置selectmode=EXTENDED,相当于一次可以选择多项,第二个选项在单击鼠标时可以同时按Ctrl键,可以选择不连续的选项。如果第二个选项在单击鼠标时同时按Shift键,可以选择连续的选项。这个程序下方有Remove按钮,单击此按钮可以删除所选项目。

from tkinter import *
from tkinter.ttk import *

def removeItem():
    iids = tree.selection()
    for iid in iids:
        tree.delete(iid)

root = Tk()
root.title("apidemos.com")

stateCity = {"Illinois": "Chicago", "California": "Los Angeles",
                "Texas": "Houston", "Washington": "Seattle",
                "Jiangsu": "Nanjing", "Shandong": "Qingdao",
                "Guangdong": "Guangzhou", "Fujian": "Xiamen"}
# 建立Treeview,可以有多项选择selectmode=EXTENDED
tree = Treeview(root,columns=("cities"),selectmode=EXTENDED)
# 建立栏标题
tree.heading("#0",text="State")
tree.heading("cities",text="City")
# 格式栏位
tree.column("cities",anchor=CENTER)
# 建立内容
for state in stateCity.keys():
    tree.insert("",index=END,text=state,values=stateCity[state])
tree.pack()

rmBtn = Button(root,text="Remove",command=removeItem)
rmBtn.pack(pady=5)

root.mainloop()

输出:

Tkinter Treeview 删除项目

上述程序当单击Remove按钮时会执行第4~7行的removeItem( )方法,这时会先执行第5行,如下所示。

iids = tree.selection()

上述方法会将目前选项传给iids,iids的数据类型是元组,所以第6、7行是循环可以遍历此元组,然后依次删除所选的项目。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程