Python

PythonでTkinerを使ってTimerを作ってみる【その4】

Python

前回の続きになります。

今回はタイマー0秒になって終了した際の動きを実装します。

4-1. タイマー終了時のアクションを設定する

タイマー終了時にポップアップメッセージを表示します。

ポップアップを行うために、Tkinerに含まれているmessageboxを利用します。

まずは、タイマーが終了したことを判別するための処理を追加します。残り時間の「__remain_min」と「__remain_sec」がどちらも0になった時終了となるように処理を追加しています。

import tkinter as tk
import tkinter.messagebox as messagebox

(省略)

    def exec_timer(self):

        if not self.__start_status:
            if int(self.__remain_min.get()) == 0 and int(self.__remain_sec.get()) == 0:
                self.__start_status = True
                self.__text_start_stop_button.set("Start")
                messagebox.showinfo("timer", "タイマーが終了しました!!")
            else:
                __tmp_time_min = int(self.__remain_min.get())
                __tmp_time_sec = int(self.__remain_sec.get())

                if __tmp_time_min >= 0:
                    __tmp_time_sec -= 1
                    self.__remain_sec.set(str(__tmp_time_sec))

                if __tmp_time_sec == -1:
                    __tmp_time_min -= 1
                    self.__remain_min.set(str(__tmp_time_min))
                    self.__remain_sec.set("59")

            self.__frame.after(1000, self.exec_timer)

タイマーの時間を短めに設定して、実行するとポップアップが表示されます。

合わせて、ボタンのステータスとラベルを戻すようにするのを忘れないでください。

まとめ

今回はかなりあっさりと実装することができました。残りは推定終了時刻の表示だけになりますね。

  • Timerで設定できるのは「分」と「秒」とし、それぞれがフォーム入力可能とする(第1回)
  • ボタンは1つとして、開いたタイミングでは「Start」を表示(第1回)
  • 「Start」ボタンをクリックするとタイマーが開始され、1秒単位でカウントダウンする(第2回)
  • 0秒になったらアラートのポップアップメッセージを表示する(今回はTkinerのmesageboxで実装する)
  • 「Start」ボタンを押したらタイマーが開始され、ボタンが「Stop」の表示に切り替わる(第3回)
  • Stopを押したらタイマーが停止する(第3回)
  • 残り時間として「分」と「秒」を表示する(第3回)
  • 上と共に「推定での終わる時刻」を表示する。M/D hh:mm:ss形式とする
  • 「推定での終わる時刻」は1分で随時更新される

つぎで最後になります。最後に残っている推定終了時刻の部分を完成させます。

第4回終了時のGithubコード

以下に保管してますので参考にどうぞ

GitHub - gogoloon/python-timer at Lesson#4
Contribute to gogoloon/python-timer development by creating an account on GitHub.

Pythonのオススメ勉強方法

私がオススメするPythonの効果的な学習方法は「Udemy(ユーデミー)」によるビデオ学習です。

「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。

多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

このコースでは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。

私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。

下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。

ちなみに、Udemyでは頻繁にセール(1か月に2,3回程度)が開催されているので、セールのタイミングで購入すれば90%OFFになる講座もあるため、セールが開催されてからの購入をオススメします!

今回は以上となります。

コメント

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