在tkinter-python中提取列表框项
如何提取所选项目在tkinter-python中提取列表框项,python,tkinter,Python,Tkinter,如何提取所选项目 我尝试了list\u-box.get(list\u-box.curselection()[0]),但总是得到一个TclError:invalid command nameerror您忘记了提供完整的代码,特别是您试图提取所选项目的确切位置 我在一个按钮中添加了一些代码来完成这项工作,在这里它似乎工作得很好: 代码就是您的代码,我只是在调用mainloop()之前添加了这个: 您忘记提供完整的代码,特别是您试图提取所选项目的确切位置 我在一个按钮中添加了一些代码来完成这项工作,
我尝试了
list\u-box.get(list\u-box.curselection()[0])
,但总是得到一个TclError:invalid command name
error您忘记了提供完整的代码,特别是您试图提取所选项目的确切位置
我在一个按钮中添加了一些代码来完成这项工作,在这里它似乎工作得很好:
代码就是您的代码,我只是在调用mainloop()
之前添加了这个:
您忘记提供完整的代码,特别是您试图提取所选项目的确切位置 我在一个按钮中添加了一些代码来完成这项工作,在这里它似乎工作得很好: 代码就是您的代码,我只是在调用
mainloop()
之前添加了这个:
谢谢@nosklo。我遇到的问题是,我不知道如何将所选项目存储在变量中,以便以后在程序中使用它。有没有办法将所选项目放入变量中,而不是用tkmsg在屏幕上显示?当然!在我的示例中,它们存储在
selected
变量中,就在显示之前…@HappyPy我稍微更改了答案,因此selected
现在是一个包含所选项目列表的变量。感谢@nosklo的编辑。但是,您如何准确地访问单击的功能之外的所选?你的意思是我应该把selected
global吗?@HappyPy这是另一个问题,通常的方法是使用类,然后你可以把selected
放在实例属性中。但是global
也可以-请记住,只有在用户点击按钮后才能访问变量。谢谢@nosklo。我遇到的问题是,我不知道如何将所选项目存储在变量中,以便以后在程序中使用它。有没有办法将所选项目放入变量中,而不是用tkmsg在屏幕上显示?当然!在我的示例中,它们存储在selected
变量中,就在显示之前…@HappyPy我稍微更改了答案,因此selected
现在是一个包含所选项目列表的变量。感谢@nosklo的编辑。但是,您如何准确地访问单击的功能之外的所选?你的意思是我应该把selected
global吗?@HappyPy这是另一个问题,通常的方法是使用类,然后你可以把selected
放在实例属性中。但是global
也可以-请记住,只有在用户单击按钮后才能访问变量。
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()
# ... 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()