Python tkinter列表框获取索引

标签 python python-3.x tkinter listbox

我正在将一些数据插入列表框中,当我尝试读取放置在索引中的数据时,程序返回连续的数字,如 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)

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

最佳答案

How can i get the index that wrote in .insert?

你不能。

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

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

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

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

关于Python tkinter列表框获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47580444/

相关文章:

python - 我怎样才能使程序更干净一点?

python - 如何在 Python 中使用 unDetected_chromedriver 运行 Firefox 浏览器?

python - 在 python 中使用 Timer 时出错?

python - Django - 使用电子邮件登录

python-3.x - 如何使用 Pyramid 读取http post参数?

python - 如何通过 Python 中的偶数/奇数列更改列名

python - 如何为标签列表创建 "scrollbar"? python tkinter

Tkinter 中的 Matplotlib 图 - 每次更新都会添加新的 NavigationToolbar?

python - 如何将两个装饰器中的任何一个应用于 View

python - 稀疏矩阵行中的连续元素