Метод Kivy on_press срабатывает дважды - PullRequest
1 голос
/ 25 февраля 2020

При запуске следующего кода:


class JumpingApp(App):
    def build(self):
        game = JumpingGame()
        Clock.schedule_interval(game.update, 1.0/60.0)
        return game

class JumpingGame(ButtonBehavior, Widget):
    def update(self,dt):
        pass

    def on_press(self):
        print("1")
        print("2")

if __name__=="__main__":
    JumpingApp().run()

с файлом .kv:

#:kivy 1.0.9


<JumpingGame>:
    on_press: self.on_press()

происходит следующее; когда я нажимаю на кнопку Display, метод on_press () в JumpingGame срабатывает дважды, поэтому вывод не

1
2

, а

1
2
1
2

Как это исправить?

1 Ответ

1 голос
/ 25 февраля 2020

Нашел проблему: мне пришлось удалить строку:

on_press: self.on_press()

в файле .kv, потому что on_press - это стандартное имя, поэтому он выполнил метод дважды

...