You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySimpleGUI FilesBrowse多文件类型配置失效问题咨询

PySimpleGUI FilesBrowse 多文件类型配置问题解决

关于file_types参数类型的说明

文档定义的Tuple[Tuple[str,str]]并非仅支持单一文件类型,它支持两种多类型配置方式:一是多个独立的文件类型选项,二是单个选项包含多种扩展名。

你的三种写法问题分析

  1. 第一种写法:
sg.FilesBrowse("COMEDY", file_types= (("mkv","*.mkv"),("avi","*.avi")),initial_folder=comedy_PATH)

这个写法本身合法,会在文件对话框的类型下拉菜单中显示mkv和avi两个选项。返回空列表大概率是因为对话框中未选中对应类型文件,或目标路径下不存在该类型文件。

  1. 第二种写法:
sg.FilesBrowse("COMEDY", file_types= (("video files","*.mkv *.avi")),initial_folder=comedy_PATH)

错误核心是外层元组仅含一个元素时缺少结尾逗号,Python会将(("video files","*.mkv *.avi"))解析为单个子元组,而非包含子元组的外层元组,不符合Tuple[Tuple[str,str]]的格式要求。

  1. 第三种写法:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:40:31