Tkinter สามารถสร้างโปรแกรม GUI ได้หลากหลาย บทความนี้สอนสร้างนาฬิกาดิจิทัลแสดง ชั่วโมง นาที วินาที แบบเรียลไทม์
หลักการทำงาน
- ใช้โมดูล
timeและฟังก์ชันstrftime()จัดรูปแบบเวลา - สร้าง Label แสดงผล พร้อมตั้งค่าฟอนต์ สี พื้นหลัง
- ใช้
label.after(200, digitalclock)เรียกฟังก์ชันซ้ำทุก 200 มิลลิวินาที (recursive)
ตัวอย่างโค้ดเต็ม
import time
from tkinter import *
canvas = Tk()
canvas.title("Digital Clock")
canvas.geometry("350x200")
canvas.resizable(1, 1)
label = Label(canvas, font=("Courier", 30, 'bold'), bg="blue", fg="white", bd=30)
label.grid(row=0, column=1)
def digitalclock():
text_input = time.strftime("%H:%M:%S")
label.config(text=text_input)
label.after(200, digitalclock)
digitalclock()
canvas.mainloop()
ผลลัพธ์

สรุป: เทคนิคสำคัญคือการใช้ after() สร้างลูปอัปเดต GUI แบบ non-blocking ใส่ delay 200ms เพื่อลดการใช้ CPU และให้การอัปเดตเรียบร้อย