Kivy on_press方法触发两次

问题描述 投票:0回答:1

Servus,运行以下代码时:


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()

以下情况;当我单击显示两次JumpingGame的on_press()方法时,会触发两次,因此输出不是

1
2

但是

1
2
1
2

有人知道如何解决此问题吗?感谢您的帮助!

python kivy kivy-language
1个回答
1
投票
发现问题:我必须删除该行:

on_press: self.on_press()

在.kv文件中,因为on_press是标准名称,因此它两次执行了该方法
© www.soinside.com 2019 - 2024. All rights reserved.