Tkinter从列表框中删除多个选择

2024-05-23 21:33:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我来的很早,这个家伙帮我在列表框中选择了什么

def selecionado(evt):
    global ativo
    a=evt.widget
    b=a.curselection()
    if len(b) > 0:
        seleção=a.curselection()[0]
         sel_text=a.get(seleção)
         ativo=[a.get(i) for i in a.curselection()]
    else:
        ativo=[]

但是我删除列表框中所选内容的代码不再有效,我不知道该怎么办。我只有这个

def remover_membro(lista,part):
    lista.delete(ativo)

返回此错误

_tkinter.TclError: bad listbox index

我想删除列表“lista”和位于“part”中的文件中选择的内容,如下所示:

名称\t代码
名称\t代码
名称\t代码

变量“ativo”是一个列表,它已经选择了这种格式的名称和代码


Tags: 代码名称内容列表getdefevtpart
1条回答
网友
1楼 · 发布于 2024-05-23 21:33:45

Listbox删除需要索引,而不是列表(或任何其他数据类型)。假设ativo是一个索引列表(特别是整数),那么remover_membro应该更像

for i in ativo:
    lista.delete(i)

如果ativo不是整数(即它是项的内容),则可以将索引存储在单独的列表中,因为.curselection()提供了索引(或者只能通过索引列表根据需要获取字符串)

相关问题 更多 >