トップレベルウィンドウのエラーを閉じます。Pythonは私が4秒後に自分自身を破壊するだけでなく、ボタンで閉じることができますポップアップエラーウィンドウを作成するには、このコードを望んでいた
def error(self):
top = Toplevel()
top.after(4000, lambda: top.destroy())
center_window(300,100, top)
top.title("Error")
Label(top, text="Please enter a valid code", height=3, width=200).pack()
ok = Button(top, text="OK", command=top.destroy)
ok.pack()
ok.bind("<Return>", lambda a: top.destroy())
ok.focus_set()
私は、コードを実行しているし、時にはそれがこのエラーをスロー以外それは時間の罰金は90%に動作します:
TypeError: <lambda>() takes exactly 1 argument (0 given)
私はそれがTkintersスレッドであると言う研究を行っています。
top.after(4000, lambda: top.destroy())
動作しているようです:私はこのコード行を取るとき、私は、これは私の問題であるかどうかわからないですけど。誰かが私を助けることができたら、私は私がパイソンについて知っていることを教えてきたので、私の学習には穴があると確信しています。私は、このウィンドウを破壊するために何らかの主な実行スレッドを使用する必要があり、そうでなければ私自身のカスタムウィジェットを作成する必要があるかもしれないと思う。どんな助けもありがとうございます。後、またはバインドを使用する場合
これは、スレッドとは全く関係ありません。 Tkinterは常に1つのスレッドで実行されます。 –