如何在PySimpleGUI窗口中展示图片?update()报filepath参数错误如何解决
报错根因
你调用sg.Image组件的update()方法时用了不存在的参数名filepath,PySimpleGUI官方定义的更新本地图片的参数名为filename。
修复方案
1. 直接解决当前报错
将代码第45行的
window['-IMAGE-'].update(filepath=filepath)
修改为:
window['-IMAGE-'].update(filename=filepath)
2. 补充修复其他潜在问题
- Windows路径转义问题:路径中的反斜杠
\会被Python识别为转义符,建议给路径字符串加r前缀避免识别错误:filepath = r"D:\Office-Work\Chars\A.png" - 子线程操作UI风险:PySimpleGUI不支持直接在子线程中操作UI组件,容易引发界面卡顿、无响应,更安全的实现方式是在子线程中调用
window.write_event_value()发送自定义更新事件,主线程监听事件后再执行图片更新逻辑。 - 补全按钮事件逻辑:当前代码没有处理Stop、Exit等按钮的点击事件,建议补充对应逻辑,比如点击Stop按钮时将全局变量
stop设为True终止朗读循环。
内容的提问来源于stack exchange,提问作者Kashif Hussain
相关产品推荐
相关产品推荐

