Python tkinter列表框获取索引

时间:2017-11-30 18:38:45

标签: python python-3.x tkinter listbox

我正在将一些数据插入到列表框中,当我尝试读取放在索引中的数据时,程序返回一个连续的数字,如0,1,2,3作为索引,而不是lb.insert中使用的id。 / p>

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.geometry('300x200')
lb = tk.Listbox(root)
lb.insert(5,'data1')
lb.insert(8,'data2')
lb.insert(13,'data3')
lb.insert(55,'data4')
lb.insert(21,'data5')
but = ttk.Button(root,text='command',command=lambda:ReadIndex())
lb.pack()
but.pack()
def ReadIndex():
    index = lb.index(lb.curselection())
    print(index)

如何获取在.insert中编写的索引?

1 个答案:

答案 0 :(得分:3)

  

如何获取在.insert中编写的索引?

你不能。

你认为你给的“id”不是id,它是一个索引。如果索引大于最后一个索引,则忽略它,并将项放在最后。

换句话说,当你这样做时:

lb.insert(5,'data1')
lb.insert(8,'data2')

然后'data1将插入索引0(零),'data2'将插入索引1(一)。无法检索原始值5和8.