试图在Python tktinter中查找和删除列表框中的字符串
嗨,我正在尝试查看我的列表框中是否有文本,然后将其删除,但由于某些原因,我得到了错误试图在Python tktinter中查找和删除列表框中的字符串,python,if-statement,tkinter,listbox,Python,If Statement,Tkinter,Listbox,嗨,我正在尝试查看我的列表框中是否有文本,然后将其删除,但由于某些原因,我得到了错误 return self.tk.call(self._w, 'cget', '-' + key) TypeError: can only concatenate str (not "int") to str 这是我的代码: from tkinter import * import tkinter as tk root = tk.Tk() listboxz = Listbox(root,height=40,wid
return self.tk.call(self._w, 'cget', '-' + key)
TypeError: can only concatenate str (not "int") to str
这是我的代码:
from tkinter import *
import tkinter as tk
root = tk.Tk()
listboxz = Listbox(root,height=40,width=150,bg='pink')
listboxz.pack(side=tk.LEFT,fill='both',expand=True)
listboxz.insert(END, 'hi','bye','see')
if 'bye' in listboxz:
listboxx.delete()
root.mainloop()
您可以使用
listboxz.get(0,'end')
获取项目列表:
items = listboxz.get(0, 'end')
然后使用items.index()
查找要删除的项目:
i = items.index('bye')
listboxz.delete(i)
如果找不到该项,将引发ValueError
,因此最好使用try/except
:
try:
items = listboxz.get(0, 'end')
i = items.index('bye')
listboxz.delete(i)
except ValueError:
# item not found, do nothing
pass
listboxx.delete()
。什么是listboxx
?您在其他地方定义了它吗?应该是listboxz.delete sorry这似乎是一个很好的答案我会尝试一下的谢谢