在tkinter中提取列表框项-python

时间:2018-08-21 19:30:38

标签: python tkinter

from tkinter import *

root = Tk()

list_box = Listbox(root, selectmode = "multiple")
for i in range(10):
    list_box.insert(i, str(i) + "item" )

list_box.pack()

mainloop()

如何提取所选项目?

我尝试了list_box.get(list_box.curselection()[0]),但总是遇到TclError: invalid command name错误

1 个答案:

答案 0 :(得分:2)

您忘记提供完整的代码,尤其是尝试提取所选项目的确切位置。

我在按钮中添加了一些代码来执行此操作,在这里似乎工作正常:

Example screenshot

该代码就是您的代码,我只是在调用mainloop()之前添加了此代码:

# ... your code here ...
import tkinter.messagebox as tkmsg
def clicked():
    selected = [list_box.get(pos) for pos in list_box.curselection()]
    tkmsg.showinfo(title='Selected', 
        message='Items selected: {}'.format(', '.join(selected)))
Button(root, text='Go!', command=clicked).pack()

mainloop()