2017-10-26 11 views
0

ボタン/ウィジェットの多いGUIがあります.30秒が経過し、ユーザーがGUIに何かヒットしなかった場合、最初の画面。Tkinterでwidget.afterを使用する(30000、lambda:showFirstScreen()

私はこの行は、あなたが画面を打っても、30秒後に私の最初の画面に移動します。だから、ルート= Tkの()とroot.mainloop()

root.after(30000, lambda: showFirstScreen()) 

の間にこれを追加ボタン/ウィジェットを打った後にリセットされるカウンタはありません。

私はそれを指定に追加しようとしましたcボタンを押すと、次のように表示されます。

button13.after(30000, lambda: showFirstScreen()) 

ボタンをクリックすると、30秒後にメインウィンドウに移動します。しかし、私がボタンに戻ると、上記のアクションを繰り返すことはありません。

何が間違っているのですか?

+3

[MCVE]を提供してください –

答えて

0

ユーザーが、ウィジェットで何かのように、

def showFirstScreen(buttons_pressed): 
    if buttons_pressed==True: 
     ...code to go to first screen... 

は、ユーザーがいずれかのボタンを使用しているかどうかを確認するために、すべてのボタンの呼び出しメソッド内buttons_pressed変数を使用し対話するかどうかを確認するために変数を使用することができます。あなたが別のウィンドウ上のボタンにafter()を追加したい場合は、別の関数を使用することができます

button13_onPress(): 
    if buttons_pressed==True: 
     root.after(30000, lambda: showFirstScreen())