PythonのTkinterを使い一定時間後に自動的にウィンドウを閉じるプログラムを試してみる

PythonのTkinterを使い一定時間後に自動的にウィンドウを閉じるプログラムを試してみます。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。

■一定時間後に自動的にウィンドウを閉じるプログラムを書いてみる

PythonのTkinterに関するWeb上の質問を見ていたのですが、一定時間後に自動的にウィンドウを閉じるプログラムが公開されていましたので、こちらを参考にプログラムを書いてみます。

■コード

import tkinter 

root = tkinter.Tk()
root.title('このウインドウは自動的に閉じます')

#10秒後にウインドウを閉じる
root.after(10000, lambda: root.destroy()) 

root.mainloop()

今回は、一定の間隔で処理を実行できるようにするために、timeモジュールのsleep関数を使う手段も考えられますが、それを使ってしまうと、エラーが発生してしまうため、使いません。

sleep関数ではなく、「after() メソッド」を使用します。after() メソッドを使うことで、一定時間後に指定したコマンドを起動するような機能が備わっています。「window.after(msec, command)」。

なお、after() メソッドで、一定時間後を指定する場合は、「ミリ秒」単位での指定が必要となります。今回は、10秒後にコマンドを起動するようにしたいので、10000ミリ秒という指定にする。

また、一定時間後にウィンドウを閉じるため、lambda式を用いて、destroy()でウインドウを閉じるコードを記述。

■実行

今回のプログラムを「after-test.py」というファイル名で保存し、コマンドプロンプトから実行してみます。

実行してみると、ウインドウが表示されて、10秒後に表示されたウインドウが自動的に閉じることを確認できました。

コメント

タイトルとURLをコピーしました