首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在KivyMD中使用Python代码更改KivyMD按钮的on_release功能?

如何在KivyMD中使用Python代码更改KivyMD按钮的on_release功能?
EN

Stack Overflow用户
提问于 2021-10-04 14:51:37
回答 1查看 45关注 0票数 0

如何使用Python代码更改KivyMD按钮的on_release函数?我最初向KivyMD按钮添加了一个print语句,并用Python代码更改了KivyMD按钮的on_release函数,但问题是,它将我的新函数加入到按钮中,而不是替换以前的函数。这意味着,它还执行分配给按钮的前一个函数,但我希望完全更改函数,比如使用Python代码将其替换为新函数。

以下是我的Python代码

代码语言:javascript
复制
self.root.ids.btn.on_release = self.new_function

提前感谢:)

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 19:47:03

如果您的初始on_release函数是在kv中设置的,那么我认为您不能删除或替换它。我认为修复方法是扩展Button类,并在其__init__()方法中定义初始on_release函数。如下所示:

代码语言:javascript
复制
class MyButt(Button):
    def __init__(self, **kwargs):
        self.on_release = partial(print, 'hi')
        return super(MyButt, self).__init__(**kwargs)

然后将kv中的Button替换为MyButt,并从kv中删除on_release:行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69438058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档