PySimpleGUI FilesBrowse多文件类型配置失效问题咨询
PySimpleGUI FilesBrowse 多文件类型配置问题解决
关于file_types参数类型的说明
文档定义的Tuple[Tuple[str,str]]并非仅支持单一文件类型,它支持两种多类型配置方式:一是多个独立的文件类型选项,二是单个选项包含多种扩展名。
你的三种写法问题分析
- 第一种写法:
sg.FilesBrowse("COMEDY", file_types= (("mkv","*.mkv"),("avi","*.avi")),initial_folder=comedy_PATH)
这个写法本身合法,会在文件对话框的类型下拉菜单中显示mkv和avi两个选项。返回空列表大概率是因为对话框中未选中对应类型文件,或目标路径下不存在该类型文件。
- 第二种写法:
sg.FilesBrowse("COMEDY", file_types= (("video files","*.mkv *.avi")),initial_folder=comedy_PATH)
错误核心是外层元组仅含一个元素时缺少结尾逗号,Python会将(("video files","*.mkv *.avi"))解析为单个子元组,而非包含子元组的外层元组,不符合Tuple[Tuple[str,str]]的格式要求。
- 第三种写法:
sg.FilesBrowse("COMEDY", file_types= (("video files",".mkv .avi")),initial_folder=comedy_PATH)
存在两个问题:一是外层元组缺少结尾逗号;二是扩展名格式错误,必须使用*.mkv而非.mkv的格式,否则文件对话框无法识别。
正确配置示例
- 方式一:多个独立文件类型选项(下拉菜单显示多个类型)
sg.FilesBrowse("COMEDY", file_types=(("MKV文件", "*.mkv"), ("AVI文件", "*.avi")), initial_folder=comedy_PATH)
- 方式二:单个选项包含多种扩展名(下拉菜单显示一个复合类型)
sg.FilesBrowse("COMEDY", file_types=(("视频文件", "*.mkv *.avi"),), initial_folder=comedy_PATH)
内容的提问来源于stack exchange,提问作者LetzerWille
相关产品推荐
相关产品推荐

