我在寻找答案时遇到了一些麻烦。是否可以在tk列表框中搜索确切的条目或字符串,然后在列表中返回其位置或索引?
谢谢。
答案 0 :(得分:2)
您可以使用get()
方法从列表中获取一个或多个项目。
在第一步中,使用get(0, END)
获取列表中所有项目的列表 ;在第二步中使用 Finding the index of an item given a list containing it in Python 转发到index()
方法:
import Tkinter as Tk
master = Tk.Tk()
listbox = Tk.Listbox(master)
listbox.pack()
# Insert few elements in listbox:
for item in ["zero", "one", "two", "three", "four", "five", "six", "seven"]:
listbox.insert(Tk.END, item)
# Return index of desired element to seek for
def check_index(element):
try:
index = listbox.get(0, "end").index(element)
return index
except ValueError:
print'Item can not be found in the list!'
index = -1 # Or whatever value you want to assign to it by default
return index
print check_index('three') # Will print 3
print check_index(100) # This will print:
# Item can not be found in the list!
# -1
Tk.mainloop()
答案 1 :(得分:0)
您需要获取列表框的内容,然后搜索列表:
lb = tk.Listbox(...)
...
try:
index = lb.get(0, "end").index("the thing to search for")
except ValueError:
index = None