การใช้งาน Python GUI (Tkinter) : การสร้างนาฬิกาแบบ Digital

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ธวัชชัย แสนหาญ
PHP Super Member
PHP Super Member
โพสต์: 499
ลงทะเบียนเมื่อ: 15/11/2018 10:02 am

การใช้งาน Python GUI (Tkinter) : การสร้างนาฬิกาแบบ Digital

โพสต์โดย ธวัชชัย แสนหาญ » 25/02/2019 11:45 am

การใช้งาน Python GUI (Tkinter) : การสร้างนาฬิกาแบบ Digital

การใช้งานPython GUI (Tkinter)
เป็นการสร้างนาฬิกาแบบ Digital โดยแสดงผลบน Label ด้วยการอ่านเวลาปัจจุบัน มาแสดงผลบน Label แต่เราต้อง
อัปเดตเวลาทุก 1 วินาที (1000 มิลลิวินาที) ซึ่งจากหัวข้อเรื่ององค์ประกอบพื้นฐานของวิดเจ็ต เราจะเห็นว่ามีเมธอด
after(time, function) ที่สามารถเรียก ฟังก์ชันขึ้นมาทํางานเมื่อครบกําหนดเวลาที่ระบุ ดังนั้น เราก็นําขั้นตอนการอ่าน
เวลาปัจจุบันไปสร้างไว้ในฟังก์ชัน แล้วใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ

รูปแบบการเรียกใช้

โค้ด: เลือกทั้งหมด

lb_clock.after(1000, tick)     

#ให้เรียกฟังก์ชันตัวมันเองทุก 1 วินาที

โค้ดที่ใช้รันโปรแกรม

โค้ด: เลือกทั้งหมด

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()


ผลลัพธ์การรันโปรแกรม
123.JPG
123.JPG (11.38 KiB) เปิดดู 706 ครั้ง


สรุป
ใช้เมธอด after ของวิดเจ็ต เรียกฟังก์ชันตัวมันเองขึ้นมาทํางานทุก 1 วินาทีแบบ
Recursion เราก็จะได้เวลาที่อัปเดตต่อเนื่องไปเรื่อยๆ

ช่องทางศึกษาเพิ่มเติม :baa:
เทคนิคการเขียน Python
บทเรียน Python
Programming - C/C++ & java & Python
บทเรียน Python GUI
บทเรียน Python Framework Flask

  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 8 และ บุคคลทั่วไป 0 ท่าน