การใช้งานPython GUI (Tkinter)
เป็นการสร้างนาฬิกาแบบ Digital โดยแสดงผลบน Label ด้วยการอ่านเวลาปัจจุบัน มาแสดงผลบน Label แต่เราต้อง
อัปเดตเวลาทุก 1 วินาที (1000 มิลลิวินาที) ซึ่งจากหัวข้อเรื่ององค์ประกอบพื้นฐานของวิดเจ็ต เราจะเห็นว่ามีเมธอด
after(time, function) ที่สามารถเรียก ฟังก์ชันขึ้นมาทํางานเมื่อครบกําหนดเวลาที่ระบุ ดังนั้น เราก็นําขั้นตอนการอ่าน
เวลาปัจจุบันไปสร้างไว้ในฟังก์ชัน แล้วใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ
รูปแบบการเรียกใช้
โค้ด: เลือกทั้งหมด
lb_clock.after(1000, tick)
โค้ดที่ใช้รันโปรแกรม
โค้ด: เลือกทั้งหมด
from tkinter import *
from datetime import datetime
window = Tk()
window.title('Clock')
window.geometry('200x60')
lb_clock = Label(font='times 16')
lb_clock.pack(anchor=CENTER, expand=YES)
def tick():
global curtime
curtime = datetime.now().time()
ftime = curtime.strftime('%H:%M:%S')
lb_clock.config(text=ftime)
lb_clock.after(1000, tick) #ให้เรียกฟังก์ชันตัวมันเองทุก 1 วินาที
tick() #เรียกฟังก์ชันขึ้นมาทำงานครั้งแรก
mainloop()
ใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ
ช่องทางศึกษาเพิ่มเติม
เทคนิคการเขียน Python
บทเรียน Python
Programming - C/C++ & java & Python
บทเรียน Python GUI
บทเรียน Python Framework Flask