📅  最后修改于: 2023-12-03 15:24:04.082000             🧑  作者: Mango
在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()
方法即可。删除多个选定项目,则需要遍历所有被选中的项目,并分别删除它们。