Python Kivy:绑定两个方法,一个接一个地调用

Python Kivy:绑定两个方法,一个接一个地调用,python,kivy,Python,Kivy,我有一个C类,有两个方法,a和b,我希望其中一个(b)总是在另一个(a)之后调用 怎么做 从a给b打电话怎么样 def a(self) : #some code self.b() 我不太记得为什么它不能通过绑定工作,但我认为它与使用不同的对象有关,例如绑定到未执行的旧方法或类似的东西 这就是super()。您可以看到,super()不仅用于调用继承自的类的\uuu init\uuu(),它还有其他用途 我刚刚用()替换了: 不,因为C的每个实例都将覆盖a。我就是这么用的。b的存

我有一个C类,有两个方法,a和b,我希望其中一个(b)总是在另一个(a)之后调用


怎么做

从a给b打电话怎么样

def a(self) :
    #some code
    self.b()

我不太记得为什么它不能通过绑定工作,但我认为它与使用不同的对象有关,例如绑定到未执行的旧方法或类似的东西

这就是
super()。您可以看到,
super()
不仅用于调用继承自的类的
\uuu init\uuu()
,它还有其他用途

我刚刚用
()
替换了


不,因为C的每个实例都将覆盖a。我就是这么用的。b的存在必须隐藏在幕后。@MatiasMorant你需要更具体地回答你的问题。使用kivy,你可以做(如果self是一个按钮):
self.bind(on_release=另一个函数)
,这意味着在on_release的函数之后会调用另一个函数,这是一个事件。我想要的是相同的行为,但不是像在发布时那样使用预定义的方法,而是使用我自己的方法是的,我已经读过了。但是如果我像绑定其他两个kivy事件一样绑定我的两个方法,那么它就不起作用了。我尝试用register\u event\u type()将方法a注册为事件,但也不起作用
def a(self) :
    #some code
    self.b()
from kivy.base import runTouchApp
from kivy.uix.button import Button

class MyBase(Button):
    def overridden(self, *args):
        self.stable()

    def stable(self, *args):
        print('stable')

class MyButton(MyBase):
    def __init__(self, **kwargs):
        super(MyButton, self).__init__(**kwargs)
        self.bind(on_release=self.overridden)

    def overridden(self, *args):
        # run before overriden stuff
        super(MyButton, self).overridden()

        print('new overridden')

        # run after overridden stuff
        super(MyButton, self).overridden()
runTouchApp(MyButton())