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

如何在PySimpleGUI中禁用按钮的bind_return_key回车绑定?

报错原因

bind_return_key 是PySimpleGUI Button组件的初始化专属参数,仅支持在创建按钮时传入,update() 方法的官方参数列表从未包含该字段。此前可以正常使用属于旧版本未公开的临时特性,在版本迭代后被移除,因此会抛出TypeError: update() got an unexpected keyword argument 'bind_return_key'错误。

可行修复方案

方案1:直接删除冗余代码(最推荐,无需额外开发)

你现有代码中所有需要修改bind_return_key的场景,都已经先执行了window['b1'].update(disabled=True)将提交按钮禁用,此时即使回车绑定存在,也无法触发按钮点击事件,功能已经符合预期。
你只需要删除代码中以下3行冗余代码即可解决报错,功能完全不受影响:

# 部分正确逻辑里的这行
window['b1'].update(bind_return_key=False)
# Skip逻辑里的这行
window['b1'].update(bind_return_key=True)
# 答错逻辑里的这行
window['b1'].update(bind_return_key=False)

方案2:手动绑定/解绑回车事件(适用于需要动态控制的场景)

如果后续存在按钮未禁用,但需要临时取消/恢复回车绑定的需求,可以直接操作PySimpleGUI底层的tkinter对象实现:

禁用回车触发提交:

window.TKroot.unbind('<Return>')

恢复回车触发提交:

window.TKroot.bind('<Return>', lambda e: window.write_event_value('b1', '') if not window['b1'].Disabled else None)

内容的提问来源于stack exchange,提问作者Rick Sanchez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:06:07