试图在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这似乎是一个很好的答案我会尝试一下的谢谢