Witam. Jaka jest różnica między:
def opacityAnimation2(self,widget,*args,opacityVal=.4):#=.22
self.animBtn = Animation(opacity = opacityVal,t='out_back',duration=.4)
self.animBtn.bind(on_complete = app.opacityAnimation1(app.scrobj.cirBtn2,opacityVal=0))
self.animBtn.start(widget)
def oa1(self,*args):
app.opacityAnimation1(app.scrobj.cirBtn2,opacityVal=0)
A tym działającym fragmentem:
def opacityAnimation2(self,widget,*args,opacityVal=.4):#=.22
self.animBtn = Animation(opacity = opacityVal,t='out_back',duration=.4)
self.animBtn.bind(on_complete = self.oa1)
self.animBtn.start(widget)
def oa1(self,*args):
app.opacityAnimation1(app.scrobj.cirBtn2,opacityVal=0)
W drugim przypadku dostaje komunikat "AssertionError: None is not callable" Podobny komunikat dostanę kiedy wywołując funkcję op1 napiszę op1().
Moje pytanie dlaczego python w jednym przypadku wywoła funkcję opacityAnimation1, a drugim nie? Jak jest różnica w wywołaniu funkcji opacityAnimation1 w tych przypadkach? I dlaczego nie mogę wywołać funkcji kiedy dodam nawiasy()