代码之家  ›  专栏  ›  技术社区  ›  Thomas Caio

Python tkinter列表框获取索引

  •  1
  • Thomas Caio  · 技术社区  · 7 年前

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

    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)
    

    如何获取写入的索引。插入

    1 回复  |  直到 7 年前
        1
  •  3
  •   Bryan Oakley    7 年前

    如何获取写入的索引。插入

    你不能。

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

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

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

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