#はじめに
オフラインで使えるGUIのシンプルなストップウォッチが欲しかったのですが、いい感じのがなかったため、自分で作ってみました。また、このストップウォッチは精密な計測を目的としていません。想定している利用方法は、プレゼンテーション時の発表時間計測やある作業時間の計測などです。
作ったストップウォッチは配布しているので、よかったら使ってみてください。
実装
GUIの実装には標準モジュールのtkinterを利用します。
時刻計測方法
計測開始時のUNIX時刻と現在のUNIX時刻の差分を計算します。
時刻表示方法
得られたUNIX時刻の差分の単位は秒であるため、それを時, 分, 秒, ミリ秒の表示に変換します。
表示は見やすさを向上させるため、0埋めを行います。
# [s] to [h]
eth = int(elapsed_time / 3600)
eth_remainder = elapsed_time % 3600
# [s] to [m]
etm = int(eth_remainder / 60)
# what's left at the end is [s]
ets = eth_remainder % 60
# change time display format to look like 00:00:00.000
elapsed_time_str = "{0:0=2}:{1:0=2}:{2:0=6.3f}".format(eth, etm, ets)
上記コードについて、@shiracamus さんにコメントいただき、divmod
を用いた以下のようなコードに変更しました。
_minute, second = divmod(elapsed_time, 60)
hour, minute = divmod(_minute, 60)
# change time display format to look like 00:00:00.000
elapsed_time_str = "{0:0=2g}:{1:0=2g}:{2:0=6.3f}".format(hour, minute, second)
利用方法
インストール方法
pip install pystopwatch
起動方法
python -m pystopwatch
オプション
計測時間の更新頻度を変更できます。単位はミリ秒です。
python -m pystopwatch --interval=1