2016-02-01 70 views
0

我在使用.after命令時遇到了問題。它不等待5秒鐘,而是立即進入下一個功能。我如何讓它等待5秒鐘?Python。after command not working

def passwordmaking(): 
    passmakingtext = ment1.get() 
    if passmakingtext == passmaking: 
     print ("pass") 
     sys.exit() 
    else : 
     label.configure(text = "Password isn't right, Bye") 
     label.after(5000, bye()) 
def bye(): 
    sys.exit() 

感謝您的幫助

回答

1
label.after(5000, bye()) 

是錯誤的;你首先打電話bye(),然後呼叫label.after(arg1,arg2)arg2是返回值bye();然而,由於bye()殺死你的程序,label.after永遠不會被調用。

您可能想要一個類似於arg2的代表可調用的函數,它在5000ms後被調用;在這種情況下,請使用bye而不是bye()。一個是函數對象,另一個是調用它的結果。