見出し画像

【初心者向け】ストップウォッチ サンプルコード

・業務効率化には何すればいいのかな?
・Pythonで自動化ツールを作成できると聞くけど、具体的に何が作れるの?
・自動化のアイデアが出てこない

こんな悩みを抱えている人に向けて、Pythonで作れる自動化ツールを紹介しています。

初心者向けのツールについて、こちらの記事で紹介しています。
 ⇒【初心者向け】Pythonで作れる自動化ツールの具体例アイデア5選【業務効率化】

本記事では、シンプルなストップウォッチのサンプルコードを公開しています。

自分で作成するのが難しい方や、ツール作成の手間を減らしたい方にお勧めです。ぜひご活用ください。

【関連記事】
【業務効率化】Pythonで作れる自動化ツール具体例・アイデア53選!
【Pythonで業務効率化】自動化ツールを自作する方法を5STEPで解説!




アイデア「ストップウォッチ」

概要

スタート、ストップ、リセット機能を持つシンプルなストップウォッチ

導入メリット

時間管理が簡単になり、作業効率が向上します。

ツール機能

基本的な時間計測機能を提供し、ユーザーが作業時間を管理できるようにします。

必要技術

tkinter:GUIを作成する

処理フロー

  1. ストップウォッチのインターフェースを表示

  2. スタートボタンで計測開始

  3. ストップボタンで計測停止

  4. リセットボタンで時間を0に戻す

完成イメージ



注意事項

著作権について

本ソースコードの著作権は、販売者に帰属します。
修正や改変は自由に行えますが、無断での複製、配布は法律で禁止されています。

ライセンスについて

本ソースコードは、個人利用及び商用利用が可能です。ただし、再販売や、本ソースコードを基にした派生作品の販売は禁止します。

返金について

デジタルコンテンツの性質上、購入後の返品や返金は原則として受け付けておりません。

使用上の免責事項

本ソースコードは予告なく変更や修正を行う場合があります。
本ソースコードの動作を保証するものではありません。
本ソースコードの使用から生じたいかなる直接的または間接的な損害に対しても、販売者は責任を負いません。
動作の不具合については、購入者自身の責任で対処してください。

サポートについて

本ソースコードに関するサポートは行っておりません。バグ報告や質問への対応は致しかねます。


ソースコード

import tkinter as tk
import time

class Stopwatch:
    def __init__(self, master):
        self.master = master
        self.master.title("高精度ストップウォッチ")

        self.running = False  # ストップウォッチが実行中かどうかのフラグ
        self.time_start = 0   # 計測開始時間
        self.time_elapsed = 0 # 経過時間

        # ラベルの設定:時間を表示する部分
        self.label = tk.Label(self.master, text="00:00:00.00", font=("Helvetica", 48))
        self.label.pack()

        # ボタンの配置を中央に整えるためのフレーム
        button_frame = tk.Frame(self.master)
        button_frame.pack()

        # スタートボタンの設定
        start_button = tk.Button(button_frame, text="スタート", command=self.start, width=10)
        start_button.pack(side=tk.LEFT, padx=5)

        # ストップボタンの設定
        stop_button = tk.Button(button_frame, text="ストップ", command=self.stop, width=10)
        stop_button.pack(side=tk.LEFT, padx=5)

        # リセットボタンの設定
        reset_button = tk.Button(button_frame, text="リセット", command=self.reset, width=10)
        reset_button.pack(side=tk.LEFT, padx=5)

        # タイマーを更新するためのメソッドを定期的に呼び出す
        self.update_clock()

    def start(self):
        """計測を開始するメソッド"""
        if not self.running:
            self.running = True
            self.time_start = time.perf_counter() - self.time_elapsed

    def stop(self):
        """計測を停止するメソッド"""
        if self.running:
            self.running = False
            self.time_elapsed = time.perf_counter() - self.time_start

    def reset(self):
        """時間をリセットするメソッド"""
        if not self.running:
            self.time_start = 0
            self.time_elapsed = 0
            self.label.config(text="00:00:00.00")

    def update_clock(self):
        """画面上の時間を更新するメソッド"""
        if self.running:
            self.time_elapsed = time.perf_counter() - self.time_start
            elapsed_time = '{:02}:{:02}:{:05.2f}'.format(
                int(self.time_elapsed / 3600),
                int(self.time_elapsed / 60 % 60),
                self.time_elapsed % 60)
            self.label.config(text=elapsed_time)
        # 10ミリ秒後に再度このメソッドを呼び出す
        self.master.after(10, self.update_clock)

if __name__ == "__main__":
    root = tk.Tk()
    sw = Stopwatch(root)
    root.mainloop()

最後まで読んでいただき、ありがとうございました!
参考のなったと思っていただけたら、
♡スキを押していただけると嬉しいです。

今後もサンプルコードを紹介する予定なので、
関心のある方は是非アカウントのフォローをお願いします!

いいなと思ったら応援しよう!