Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Python:如何从列表框中获取多个条目?_Python_User Interface_Listbox_Tkinter_Selection - Fatal编程技术网

Python:如何从列表框中获取多个条目?

Python:如何从列表框中获取多个条目?,python,user-interface,listbox,tkinter,selection,Python,User Interface,Listbox,Tkinter,Selection,我想获得一个目录中的所有文件名,并将它们显示在列表框中给用户,然后用户可以选择多个名称,然后按OK或Cancel。如果他按OK,它将返回选定的文件名。请提供帮助。以下是一个相当简单的方法: 然后,您可以通过此操作获取所选选项: for i in sel_list[0]: print opt_list[int(i)] 这将使用sel_列表中的项目创建一个列表框,然后当用户按submit时,它将返回一个元组,其中选择了哪些行 可以一次选择多个,并以元组的形式返回。从该站点获取更多信息更具体

我想获得一个目录中的所有文件名,并将它们显示在列表框中给用户,然后用户可以选择多个名称,然后按OK或Cancel。如果他按OK,它将返回选定的文件名。请提供帮助。

以下是一个相当简单的方法:

然后,您可以通过此操作获取所选选项:

for i in sel_list[0]:
    print opt_list[int(i)]
这将使用sel_列表中的项目创建一个列表框,然后当用户按submit时,它将返回一个元组,其中选择了哪些行


可以一次选择多个,并以元组的形式返回。从该站点获取更多信息更具体地说,您需要的是

这将返回用户选择的文件的路径列表,以提取文件名:

import os
filenames = [os.path.basename(filename) for filename in filenames]
如果您希望文件名不带扩展名,请使用以下命令代替上面的行:

filenames = [os.path.splitext(os.path.basename(filename))[0] for filename in filenames]

当我按下提交按钮时,窗口没有关闭。你只需要调用root.destroy检查我的编辑我现在做了一些更改,它会将所选选项添加到sel_列表中,当你按下提交按钮时,它将关闭,我如何将所选值放入列表中?请参阅新的编辑使用第二个for循环,它将打印所选选项:以及如何打印要添加“取消”按钮以退出gui窗口,请执行以下操作:我不同意把这个问题作为离题而搁置。这个问题已经成为关于tkinter listbox小部件的一个很好的教程,它可能会帮助许多python新手。@Bryan阅读下面的“离题”描述。您是特别询问如何在列表框中显示名称,还是使用标准的文件对话框?两者都有可能,只是不清楚你真正需要什么。
import os
filenames = [os.path.basename(filename) for filename in filenames]
filenames = [os.path.splitext(os.path.basename(filename))[0] for filename in filenames]