2015-05-25 95 views
0

我有一個簡單的tkinter回調,當按下或按住某個按鍵時,通過視頻向前擦洗。Tkinter自動觸發回調不斷

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

這很好地回放視頻。我怎樣才能觸發這個回調被連續調用,這是當用戶按下按鍵時會發生什麼,只有自動調用?我試過普通的while循環或嵌套/定時函數調用,但是這些會鎖定界面。

回答

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)