我如何进行72小时倒计时

问题描述 投票:-1回答:1

我正在Tkinte r上做一个计时器,但是到目前为止,我还没有找到一种实现倒计时的好方法。我已经尝试过使用datetimetim e,但是无法专门进行72小时倒计时。而不是减少时间,它仅根据机器的本地时间增加。你能帮我吗?

代码和图像:

import tkinter as tk
import time

countdown = 259200

class Application():
    def __init__(self):
        self.main = tk.Tk()
        self.main.geometry('700x500')
        self.main.title('')
        self.main.resizable(0,0)
        self.CreateWidgets()
        self.main.mainloop()

    def CreateWidgets(self):
        self.now = tk.StringVar()
        self.framemain = tk.Frame(self.main)
        self.framemainlabel = tk.Frame(self.framemain,bg='black')
        self.frametime = tk.Frame(self.framemain,bg='grey')
        self.frametiming = tk.Frame(self.frametime,bg='red')

        self.timeto = tk.Label(self.frametime,text="TIME LEFT",bg='grey',font=('Trebuchet MS',30),anchor=tk.NW)

        self.time = tk.Label(self.frametime,text=self.now,bg='red',font=('Alarm Clock',100))

        self.framemain.place(relwidth=1,relheight=1)
        self.frametime.place(relwidth=1,relheight=0.8,rely=0.2)
        self.framemainlabel.place(relwidth=1,relheight=0.2)
        self.frametiming.place()

        self.timeto.pack()
        self.time.pack()

        self.Counting()

    def Counting(self):
        t=time.strftime('%I:%M:%S',time.localtime())
        if t!='':
            self.time.config(text=t)
        self.main.after(100,self.Counting)

app = Application()

Timer

python-3.x tkinter countdown
1个回答
0
投票

我已经实施了类似的倒数计时器,时间分别为2分钟2秒。附上以下代码:

class UI(object):
    def __init__(self, master, **kwargs):
        self.timeLabel = tk.Label(self.master, text="02:00", font=("Times New Roman", 33), wraplength=self.screenwidth)
        self.timeRemaining = "02:02"
        self.timeLabel.pack()
        self.update_timer()

    def update_timer(self):
        self.after_id = self.master.after(1000, self.update_timer)
        self.timeRemaining = str(datetime.datetime.strftime(datetime.datetime.strptime(self.timeRemaining, '%M:%S')-datetime.timedelta(seconds=1), '%M:%S'))
        self.timeLabel.config(text=self.timeRemaining)
        if self.timeRemaining == "00:00":
            # Exit logic here   

对于72小时的倒计时,我认为strftime的参数将发生变化。

© www.soinside.com 2019 - 2024. All rights reserved.