Tkinter là một thư viện Python tiêu chuẩn để tạo các ứng dụng máy tính để bàn dựa trên GUI. Nó cung cấp nhiều chức năng, mô-đun và phương pháp có thể được sử dụng để triển khai chức năng của một ứng dụng.
Trong ví dụ này, chúng tôi sẽ tạo Thời gian đếm ngược bằng cách sử dụng các thư viện chuẩn Python như Tkinter và mô-đun thời gian. Chức năng cơ bản của ứng dụng của chúng tôi là chạy bộ đếm thời gian trong một khoảng thời gian nhất định. Nó sẽ có các thành phần sau,
-
Một widget Entry để đặt bộ hẹn giờ cho từng HH / MM / SS.
-
Nút A để thực thi chức năng countdownntimer () .
-
Một hàm countdownntimer () sẽ chuyển đổi chuỗi đầu vào thành một giá trị số nguyên liên quan đến HH, MM và SS.
-
Sử dụng update () , chúng tôi sẽ cập nhật cửa sổ liên quan đến chức năng và tiện ích đã cho.
Ví dụ
# 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()
Đầu ra
Nó sẽ hiển thị đồng hồ đếm ngược trong cửa sổ.
Nếu chúng tôi đặt bộ hẹn giờ bằng cách thay đổi giá trị trong các ô Mục nhập và nhấp vào nút "bắt đầu", bộ hẹn giờ sẽ nhanh chóng bắt đầu bộ hẹn giờ trong một khoảng thời gian nhất định.