Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在tkinter-python中提取列表框项_Python_Tkinter - Fatal编程技术网

在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()