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

求助:TypeError报错——action()仅接受1个参数却传入2个

问题原因

Tkinter在触发绑定的事件(比如<<ComboboxSelected>>)时,会自动把事件对象作为第二个参数传递给回调函数。你的action方法只定义了self这一个参数,但实际调用时会传入两个参数(实例本身+事件对象),所以触发了类型错误。

解决方案

给action方法添加一个额外的参数来接收事件对象即可,即使你不需要用到这个参数:

方案1:显式添加event参数

修改后的action方法:

def action(self, event):
    self.SOURCE_SHUTTER = self.listeCombo.get()
    print(self.SOURCE_SHUTTER)

方案2:用*args接收任意多余参数

如果不想单独定义event参数,可以用*args来接收所有额外传入的参数:

def action(self, *args):
    self.SOURCE_SHUTTER = self.listeCombo.get()
    print(self.SOURCE_SHUTTER)

两种方案都能解决这个报错,选哪个取决于你是否需要用到事件对象里的信息(比如事件触发的组件、鼠标位置等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:10:49