Python:如何从列表框中获取多个条目?
我想获得一个目录中的所有文件名,并将它们显示在列表框中给用户,然后用户可以选择多个名称,然后按OK或Cancel。如果他按OK,它将返回选定的文件名。请提供帮助。以下是一个相当简单的方法: 然后,您可以通过此操作获取所选选项: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时,它将返回一个元组,其中选择了哪些行 可以一次选择多个,并以元组的形式返回。从该站点获取更多信息更具体
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]