Tkinter持续自动触发回调

时间:2015-05-25 16:10:01

标签: python tkinter

我有一个简单的tkinter回调,当按下或按下按键时,它会在视频中向前擦除。

root.bind('<Right>', callback_scrubFwd)
root.mainloop()

这非常好地播放视频。如何触发此回调被连续调用,这是当用户按下键时,只会自动调用的?我尝试过普通的while循环或嵌套/定时函数调用,但这些调用会锁定界面。

1 个答案:

答案 0 :(得分:2)

如果你想让一个函数连续运行,你可以在函数结束时调用after将另一个回调调用放在事件队列上:

def callback_scrubFwd():
    <your code here>
    root.after(1000, callback_scrubFwd)

如果您希望能够停止自动重复,则可以添加每次调用时检查的标志:

def callback_scrubFwd():
    <your code here>
    if do_autorepeat:
        root.after(1000, callback_scrubFwd)