如何从列表框中删除多个选择

时间:2016-07-10 21:43:07

标签: python tkinter listbox

我得到的代码放入变量ativo列表框中选择的内容

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

如何创建一个可以删除它的函数,因为ativo会返回:

["Name1\t Code1\n"]
["Name1\t Code1\n", 'Name2\t Code2\n']

但如果我打印列表框,则显示

.59070320.59070384

即使列表框在我的图形界面中以正确的方式显示名称和correspodent代码,例如:

名称代码

名称代码

所以,我不知道如何删除所选内容,请帮帮我

1 个答案:

答案 0 :(得分:0)

只需使用yourlistboxname.delete(index)

即可
def removeclicked(evt):
w = evt.widget
index = int(w.curselection()[0])
label = w.get(index)
yourlistboxname.delete(index)

要绑定evt,请在创建窗口小部件的位置添加

yourlistboxname.bind('<<ListboxSelect>>',removeclicked)

这个解决方案很容易找到,所以也许我误解了你的问题。如果您没有删除代码中的条目,则只能获取()条目或更改条目。 这个页面应该有所帮助: