การใช้งาน Python GUI (Tkinter) : การสร้างนาฬิกาแบบ Digital
Posted: 25/02/2019 11:45 am
การใช้งาน Python GUI (Tkinter) : การสร้างนาฬิกาแบบ Digital
การใช้งานPython GUI (Tkinter)
เป็นการสร้างนาฬิกาแบบ Digital โดยแสดงผลบน Label ด้วยการอ่านเวลาปัจจุบัน มาแสดงผลบน Label แต่เราต้อง
อัปเดตเวลาทุก 1 วินาที (1000 มิลลิวินาที) ซึ่งจากหัวข้อเรื่ององค์ประกอบพื้นฐานของวิดเจ็ต เราจะเห็นว่ามีเมธอด
after(time, function) ที่สามารถเรียก ฟังก์ชันขึ้นมาทํางานเมื่อครบกําหนดเวลาที่ระบุ ดังนั้น เราก็นําขั้นตอนการอ่าน
เวลาปัจจุบันไปสร้างไว้ในฟังก์ชัน แล้วใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ
รูปแบบการเรียกใช้
#ให้เรียกฟังก์ชันตัวมันเองทุก 1 วินาที
โค้ดที่ใช้รันโปรแกรม
ผลลัพธ์การรันโปรแกรม
สรุป
ใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ
ช่องทางศึกษาเพิ่มเติม
เทคนิคการเขียน Python
บทเรียน Python
Programming - C/C++ & java & Python
บทเรียน Python GUI
บทเรียน Python Framework Flask
การใช้งานPython GUI (Tkinter)
เป็นการสร้างนาฬิกาแบบ Digital โดยแสดงผลบน Label ด้วยการอ่านเวลาปัจจุบัน มาแสดงผลบน Label แต่เราต้อง
อัปเดตเวลาทุก 1 วินาที (1000 มิลลิวินาที) ซึ่งจากหัวข้อเรื่ององค์ประกอบพื้นฐานของวิดเจ็ต เราจะเห็นว่ามีเมธอด
after(time, function) ที่สามารถเรียก ฟังก์ชันขึ้นมาทํางานเมื่อครบกําหนดเวลาที่ระบุ ดังนั้น เราก็นําขั้นตอนการอ่าน
เวลาปัจจุบันไปสร้างไว้ในฟังก์ชัน แล้วใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ
รูปแบบการเรียกใช้
Code: Select all
lb_clock.after(1000, tick)
โค้ดที่ใช้รันโปรแกรม
Code: Select all
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