これに対する答えを見つけるのに何らかの問題があります。正確なエントリや文字列のためにtkリストボックスを検索し、その場所やインデックスをリストに戻すことは可能ですか?リストボックスを検索してインデックスの場所を返すことは可能ですか?
ありがとうございます。
これに対する答えを見つけるのに何らかの問題があります。正確なエントリや文字列のためにtkリストボックスを検索し、その場所やインデックスをリストに戻すことは可能ですか?リストボックスを検索してインデックスの場所を返すことは可能ですか?
ありがとうございます。
あなたはリストから1つ以上の項目を取得するためにget()
メソッドを使用することができます。最初のステップは、リスト内のすべての項目のリストを取得する使用get(0, END)
で
。
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()
:index()
方法に転送する第2段階使用Finding the index of an item given a list containing it in Pythonで
あなたは、リストを検索し、その後、リストボックスの内容を取得する必要があります。
lb = tk.Listbox(...)
...
try:
index = lb.get(0, "end").index("the thing to search for")
except ValueError:
index = None