LoginSignup
0
0

More than 1 year has passed since last update.

Pythonでストップウォッチを作ってみた

Last updated at Posted at 2021-08-31

はじめに

オフラインで使える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

リンク

GitHub - PyStopwatch
PyPI - PyStopwatch

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0