如何在 kivy 中创建 60 秒倒数计时器

Posted

技术标签:

【中文标题】如何在 kivy 中创建 60 秒倒数计时器【英文标题】:How do I create a 60 seconds countdown timer in kivy 【发布时间】:2020-10-27 08:10:31 【问题描述】:

我需要在 kivy 中创建一个 60 秒的倒数计时器。它会在代码运行时立即启动,当倒计时为 0 时应打印“倒计时完成”。

无法为此派生任何代码。我只需要一个简单的 60 秒倒计时

【问题讨论】:

*** 并非旨在成为免费的代码编写服务。当我在线搜索“kivy 倒数计时器”时,我得到了很多结果。在提出这个问题之前,您是否尝试过进行研究? 【参考方案1】:

这是使用 Tkinter 开发的,

from tkinter import *
import time, sys
window = Tk()
window.title("Countdown")
print('\nHello\nInstructions: add time.\n')
hourz = input('Hours: ')
minz = input('Minutes: ')
secz = input('Seconds: ')
hour = int(hourz); min = int(minz); sec = int(secz)
var = StringVar()
var.set("00:00:00")
label_title = Label(window, textvariable=var)
label_title.pack()
window.update()
print('Check the window !\n')
while hour > -1:
    while min > -1:
        while sec > 0:
            sec = sec - 1
            time.sleep(1)
            sec1 = ('%02.f' % sec)  # format
            min1 = ('%02.f' % min)
            hour1 = ('%02.f' % hour)
            var.set('\r' + str(hour1) + ' : ' + str(min1) + ' : ' + str(sec1))
            window.update()
        min = min - 1
        sec = 60
    hour = hour - 1
    min = 59
print(' Finish !\n')
window.mainloop()

【讨论】:

请注意,这将导致计时器的精度非常低,因为您使用的是time.sleep(),并且永远不会与真实时钟同步。正如documented、time.sleep() 所花费的时间可能比所需时间多或少,而且您也没有考虑其余代码所需的时间。 建议我为这些活动提供一个好的 python 计时器模块。 应该在kivy中 试一试,如果有任何错误来问我们,不要指望在这里得到完整的答案......对不起 该问题明确询问如何在 kivy 中执行此操作,而不是 tkinter。另外,这绝对不是在 tkinter 中做计时器的正确方法。

以上是关于如何在 kivy 中创建 60 秒倒数计时器的主要内容,如果未能解决你的问题,请参考以下文章

倒计时计时器,在实际时间前 2 秒计数

Flutter:当倒数计时器达到 0 时执行动作

按秒倒数计时器

使用倒数计时器以特定间隔发出信号

动态 Python 倒数计时器

如何使用倒数计时器停止游戏 - iOS [SWIFT] -