デジタル時計
図1に示すデジタル時計のスクリプトをリスト1のように作成した。
図1
リスト1
import tkinter
as tk
from datetime
import datetime
root = tk.Tk()
def f_close(event):
root.destroy()
frame = tk.Frame(root)
button = tk.Button(frame,
text = 'Close')
button.grid(row = 0, column = 10, padx = 5, sticky = 'e')
button.bind('<Button-1>', f_close)
canvas = tk.Canvas(frame,
bg = '#ffffff', width =
800, height = 400)
canvas.grid(row = 1, columnspan
= 11, rowspan = 1)
frame.pack()
canvas.create_text(400, 200, text = ' ', font =
('Gothic', 100), tags = 'mytext')
def check_time():
now = datetime.now()
s =
'{0:0>2d}:{1:0>2d}:{2:0>2d}'.format(now.hour,
now.minute, now.second)
canvas.itemconfig('mytext', text = s)
root.after(100,
check_time)
check_time()
root.mainloop()
リスト1のスクリプトを実行すると図1のフォームが提示され、時刻が表示される。表示時刻は、コード
root.after(100, check_time)
で設定された100ミリ秒後に呼び出される関数check_timeによって更新される。
右上の「Close」ボタンのクリック(イベント)で、関数f_close(コールバック関数)が呼び出されてフォームが閉じられ、プログラムの実行終了となる。このボタンクリックと関数f_closeのbindは、コード
button.bind('<Button-1>', f_close)
によって設定されている。