📌  相关文章
📜  如何删除 Tkinter 列表框中的多个选定项目?(1)

📅  最后修改于: 2023-12-03 15:24:04.082000             🧑  作者: Mango

如何删除 Tkinter 列表框中的多个选定项目?

在Tkinter中,列表框(Listbox)是被广泛使用的控件之一。本文将讲述如何删除Tkinter列表框中的多个选定项目。

删除单个选定项目

在Tkinter中,可以使用delete()方法删除列表框中的单个项目。该方法需要传入要删除的项目的索引。

# import tkinter module
import tkinter as tk

# create root window
root = tk.Tk()

# create listbox
listbox = tk.Listbox(root)
listbox.pack()

# add items to listbox
listbox.insert(0, "Item 1")
listbox.insert(1, "Item 2")
listbox.insert(2, "Item 3")

# delete selected item
index = listbox.curselection()[0] # get selected item index
listbox.delete(index)

# run the mainloop
root.mainloop()

上述代码中,使用curselection()方法获取列表框中被选中的项目的索引。然后使用delete()方法删除该索引对应的项目。

删除多个选定项目

要删除列表框中的多个选定项目,需要遍历所有被选中的项目,并分别删除它们。

# import tkinter module
import tkinter as tk

# create root window
root = tk.Tk()

# create listbox
listbox = tk.Listbox(root)
listbox.pack()

# add items to listbox
listbox.insert(0, "Item 1")
listbox.insert(1, "Item 2")
listbox.insert(2, "Item 3")
listbox.insert(3, "Item 4")
listbox.insert(4, "Item 5")

# delete selected items
for index in reversed(listbox.curselection()): # loop through selected items in reverse order
    listbox.delete(index)

# run the mainloop
root.mainloop()

上述代码中,使用reversed()方法将curselection()返回的选中项的索引列表倒序,并使用for循环遍历选中的索引,并分别删除它们。

总结

本文提供了如何删除Tkinter列表框中的多个选定项目的方法。删除单个选定项目较为简单,使用delete()方法即可。删除多个选定项目,则需要遍历所有被选中的项目,并分别删除它们。