Python .after命令不起作用

时间:2016-02-01 14:50:58

标签: python

我的.after命令遇到问题。它不是等待5秒,而是立即进入下一个功能。如何让它等待5秒钟?

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 个答案:

答案 0 :(得分:1)

    label.after(5000, bye())

错了;您首先致电bye(),然后致电label.after(arg1,arg2)arg2bye()的返回值;但是,由于bye()会导致您的计划失败,label.after永远不会被调用。

你可能想要arg2之类的东西代表一个在5000毫秒后调用的可调用函数;在这种情况下,请使用bye而不是bye()。一个是函数对象,另一个是调用它的结果。