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

Kivy Builder中MDFlatButton绑定自定义函数报AttributeError如何解决?

错误产生原因

你在KV代码中绑定按钮的on_release事件时,使用了self.plus_drive的写法,这里的self指向的是当前触发事件的MDFlatButton按钮控件本身。但plus_drive方法是定义在ransomwareScreen页面类中的,按钮对象自身没有这个方法,因此触发属性不存在的报错。

修复方法

1. 修正KV中的事件绑定逻辑

在页面规则(<ransomwareScreen>)定义的内部,root关键字指代当前页面的实例,也就是你定义了plus_drive方法的类对象,所以只需要修改按钮的绑定代码即可:

MDFlatButton:
    text : "salam"
    pos_hint: {"center_x": .9, "center_y": .1}
    on_release : root.plus_drive(self)

说明:这里加括号是为了主动触发方法调用,传入的self对应按钮实例,和你plus_drive方法定义中的obj参数匹配。

2. 清理冗余代码(可选,避免后续逻辑混乱)

你主逻辑中手动创建ScreenManager实例并添加页面的代码是完全冗余的,KV文件中已经定义了完整的ScreenManager和对应的三个页面实例,你build方法返回的也是KV加载的页面结构,这段手动创建sm的代码不会生效,直接删除即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:45:04