如何获取listbox的指定下标索引

为什么会获取不了listbox指定字符串的下标?

from tkinter import *


def callback():                         # 查看索引
    get_ey_str = ey_var.get()
    listbox_index = lb.index(get_ey_str)
    la.config(text=f'对应的下标索引为:{listbox_index}')


fruits = ["Banana", "Watermelon", "Pineapple", "Orange", "Grapes", "Mango"]

root = Tk()
root.title("listbox")        # 窗口标题
root.geometry("300x350")     # 窗口宽300高210

lb = Listbox(root, selectmode=MULTIPLE)
for fruit in fruits:         # 建立水果项目
    lb.insert(END, fruit)
lb.pack(pady=5)

ey_var = StringVar()
ey = Entry(root, textvariable=ey_var)
ey.pack(pady=5)

la = Label(root)
la.pack(pady=5)

btn = Button(root, text="Check", command=callback)
btn.pack(pady=5)

root.mainloop()

Jason990420
最佳答案

Listbox.index

返回index指定的索引值。index可以是ACTIVE,也可以是ANCHOR,还可以是坐标值“@x,y”。

列表框索引 Listbox.index 不同於列表索引 list.index

列表框索引透过以下任一方式指定列表框的特定元素:

  • 数字: 将元素指定为数字索引,其中 0 对应于列表框中的第一个元素。
  • active: 指示具有位置游标的元素。 当列表框具有键盘焦点时,元素将按照-activestyle指定的方式显示,并使用activate widget 指令指定 。
  • anchor: 指示选择的锚点,它是使用 选择锚点小部件命令设定的。
  • end: 指示列表框的结尾。 对于大多数命令,它指的是列表框中的最后一个元素,但对于少数命令(例如索引和插入) ,它指的是最后一个元素之后的元素。
  • @ x , y: 指示覆盖列表框视窗中由x和y (以像素座标 表示)指定的点的元素。 如果没有元素覆盖该点,则使用距离该点最近的元素。
def callback():
    """ 查看索引 """
    get_ey_str = ey_var.get().capitalize()
    if get_ey_str in fruits:
        listbox_index = fruits.index(get_ey_str)
        la.config(text=f'对应的下标索引为:{listbox_index}')
2个月前 评论
讨论数量: 1
Jason990420

Listbox.index

返回index指定的索引值。index可以是ACTIVE,也可以是ANCHOR,还可以是坐标值“@x,y”。

列表框索引 Listbox.index 不同於列表索引 list.index

列表框索引透过以下任一方式指定列表框的特定元素:

  • 数字: 将元素指定为数字索引,其中 0 对应于列表框中的第一个元素。
  • active: 指示具有位置游标的元素。 当列表框具有键盘焦点时,元素将按照-activestyle指定的方式显示,并使用activate widget 指令指定 。
  • anchor: 指示选择的锚点,它是使用 选择锚点小部件命令设定的。
  • end: 指示列表框的结尾。 对于大多数命令,它指的是列表框中的最后一个元素,但对于少数命令(例如索引和插入) ,它指的是最后一个元素之后的元素。
  • @ x , y: 指示覆盖列表框视窗中由x和y (以像素座标 表示)指定的点的元素。 如果没有元素覆盖该点,则使用距离该点最近的元素。
def callback():
    """ 查看索引 """
    get_ey_str = ey_var.get().capitalize()
    if get_ey_str in fruits:
        listbox_index = fruits.index(get_ey_str)
        la.config(text=f'对应的下标索引为:{listbox_index}')
2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!