#author("2024-08-15T15:28:41+09:00","default:yakumo_murakami","yakumo_murakami")
#author("2024-08-15T15:28:49+09:00","default:yakumo_murakami","yakumo_murakami")
[[今さらPython]]

&ref(20240815.jpg)
#ref(20240815.jpg)

* 参考 [#d2dbd7af]

- https://qiita.com/Chihiro_0808/items/d978a671358fcaf859bb

* 方法 [#uba0d138]

まぁコンソールに出せているんだから簡単ではあるのですが、興味深いのはタイマーのかけ方。~
参考のサイトさんの記事ではインデントが壊れてしまっているのですが、自分なりに解釈してみました。

* コード [#p38fb953]

 #!/usr/bin/env python
 
 import tkinter as tk
 import time
 
 root = tk.Tk()
 root.title("Clock")
 
 btn = tk.Button(root,text = 'Quit',command=quit)
 spc = tk.Label(root, font=("times", 20, ""),text=" ")
 clock = tk.Label(root, font=("times", 50, "bold"))
 clock.grid(row=0,column=0)
 spc.grid(row=0,column=1)
 btn.grid(row=0,column=2)
 
 def tick():
         now = time.strftime("%H:%M:%S")
         clock.config(text=now)
         clock.after(999, tick)
 
 tick()
 root.mainloop()

* 説明 [#g8cd69c7]

tickという処理を作っていますが、面白いのは ''自分が実行された約一秒後に自分自身を呼び出す'' ことです。~
なるほど、この方法はスマートというか、GUIパーツの機能をうまく生かした書き方だと思います。~
もちろん精度によっては向かない処理もあるでしょうが、今回の時計程度なら問題ないでしょう。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS