Kivy言語を使用してレイアウトされたボタンを関数にバインドする方法を理解しようとしています。私はanswersをPython言語でボタンをレイアウトするときにたくさん見てきました。しかし、いったんすべてが整ったら、Button
から継承するカスタムクラスを使って参照していますか?Kivy言語でボタンを追加した後にボタンをバインドする
次のコードでは、エラーTypeError: show() takes 1 positional argument but 2 were given
がスローされ、プログラムがクラッシュします。
class TimerButton(ButtonBehavior, Image):
timer_container = ObjectProperty(None)
client_scoreboard = ObjectProperty(None)
def __init__(self, **kwargs):
super(TimerButton, self).__init__(**kwargs)
self.bind(on_press=self.show)
self.bind(on_release=self.changeImage)
def show(self):
print('hi there')
self.source = 'assets/mainViewTimerButtonPressed.png'
import kivy.animation as Animate
anim = Animate.Animation(
x=self.client_scoreboard.right - self.timer_container.width,
y=self.timer_container.y,
duration=0.25)
anim.start(self.timer_container)
self.unbind(on_press=self.show)
self.bind(on_press=self.hide)
def changeImage(self):
self.source = 'assets/mainViewTimerButton.png'
def hide(self):
import kivy.animation as Animate
anim = Animate.Animation(
x=self.client_scoreboard.width,
y=self.timer_container.y,
duration=0.25)
anim.start(self.timer_container)
self.unbind(on_press=self.hide)
self.bind(on_press=self.show)