Kivy Clock未安排的问题

时间:2017-02-12 17:56:20

标签: python kivy

我目前正在努力充分利用kivy的时钟非计划操作。我按下一个键就可以为回调分配一个时间表。我已经实现了预定的回调,但是我也想做的是一旦按下一个键,它不仅会启动回调,还会取消任何现有的回调。我的问题是虽然我编写了一个event.cancel(),但该事件根本没有被取消。整个程序有点大,但我可以显示直接使用时钟的代码。

def _on_keyboard_down(self, keyboard, keycode, text, modifiers):
    event0 = Clock.create_trigger(lambda dt: self.pressHome(), 3)
    event1 = Clock.create_trigger(lambda dt: self.selectFig(coord = 'A2'), 2)
    event2 = Clock.create_trigger(lambda dt: self.selectFig(coord = 'A3'), 4)

    if keycode[1] == 'd':
        coord = 'A3'
        self.selectFig(coord)
        event1()
        event2()
        event0.cancel()

    elif keycode[1] == 'f':
        coord = 'A4'
        self.selectTxt(coord)

        event1.cancel()
        event2.cancel()
        event0()

1 个答案:

答案 0 :(得分:0)

您每次都在创建事件,因此您取消旧事件

可能的修复方法可能只是一次

创建触发器
sudo vagrant plugin install vagrant-libvirt