Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างนาฬิกาจับเวลาถอยหลังด้วย Python และ Tkinter


Tkinter เป็นไลบรารี Python มาตรฐานสำหรับการสร้างแอปพลิเคชันเดสก์ท็อปที่ใช้ GUI มีฟังก์ชัน โมดูล และวิธีการต่างๆ มากมายที่สามารถนำมาใช้เพื่อปรับใช้ฟังก์ชันการทำงานของแอปพลิเคชัน

ในตัวอย่างนี้ เราจะสร้างเวลานับถอยหลังโดยใช้ไลบรารีมาตรฐานของ Python เช่น Tkinter และโมดูลเวลา ฟังก์ชันพื้นฐานของแอปพลิเคชันของเราคือการเรียกใช้ตัวจับเวลาในช่วงเวลาที่กำหนด โดยจะมีส่วนประกอบดังนี้

  • วิดเจ็ตรายการเพื่อตั้งเวลาสำหรับ HH/MM/SS แต่ละรายการ

  • ปุ่มสำหรับใช้งานฟังก์ชัน ตัวนับเวลาถอยหลัง() .

  • ฟังก์ชั่น ตัวนับเวลาถอยหลัง() จะแปลงสตริงอินพุตเป็นค่าจำนวนเต็มที่สัมพันธ์กับ HH, MM และ SS

  • ใช้ update() เราจะอัปเดตหน้าต่างตามฟังก์ชันและวิดเจ็ตที่กำหนด

ตัวอย่าง

# Import the required library
from tkinter import *
import time

# Create an instance of tkinter frame
win = Tk()

# Set the size of the window
win.geometry('700x350')

# Make the window fixed to its size
win.resizable(False, False)

# Configure the background
win.config(bg='skyblue4')

# Create Entry Widgets for HH MM SS
sec = StringVar()
Entry(win, textvariable=sec, width=2,
   font='Helvetica 14').place(x=380, y=120)
sec.set('00')

mins = StringVar()
Entry(win, textvariable=mins, width=2, font='Helvetica 14').place(x=346, y=120)
mins.set('00')

hrs = StringVar()
Entry(win, textvariable=hrs, width=2, font='Helvetica 14').place(x=310, y=120)
hrs.set('00')

# Define the function for the timer
def countdowntimer():
   times = int(hrs.get()) * 3600 + int(mins.get()) * 60 + int(sec.get())
   while times > -1:
      minute, second = (times // 60, times % 60)
      hour = 0
      if minute > 60:
         hour, minute = (minute // 60, minute % 60)
      sec.set(second)
      mins.set(minute)
      hrs.set(hour)

      # Update the time
      win.update()
      time.sleep(1)
      if (times == 0):
         sec.set('00')
         mins.set('00')
         hrs.set('00')
      times -= 1

# Create a Label widget
Label(win, font=('Helvetica bold', 22), text='Set the Timer', bg='skyblue4', fg="white").place(x=260, y=70)

# Button widget to set the timer
Button(win, text='START', bd='2', bg='IndianRed1', font=('Helvetica bold', 10), command=countdowntimer).place(x=335, y=180)

win.mainloop()

ผลลัพธ์

จะแสดงนาฬิกาจับเวลาถอยหลังในหน้าต่าง

สร้างนาฬิกาจับเวลาถอยหลังด้วย Python และ Tkinter

หากเราตั้งค่าตัวจับเวลาโดยเปลี่ยนค่าในกล่องรายการและคลิกปุ่ม "เริ่ม" ตัวจับเวลาจะเริ่มจับเวลาอย่างรวดเร็วในช่วงเวลาที่กำหนด

สร้างนาฬิกาจับเวลาถอยหลังด้วย Python และ Tkinter