本节要将2.10.1基础布局中实现的:显示"00:00:00"的时间窗口,实时地替换为当前时间。需要解决的问题有两个:
1.如何不间断地执行某一方法?
2.如何替换显示的时间文本?
解决:Kivy为我们提供了一个Clock类,通过Clock.schedule_interval()方法可以指定每隔多少秒执行一次对应的函数,例如:
表示每5秒执行一次update_time()方法,如果需要不间断执行,只需要把5改成0即可。
Clock.schedule_interval(self.update_time,5)
在Kivy中,每个布局或者小部件都可以为其指定一个ID属性,通过ID可以获取到该布局或者部件,例如:
获取一个ID为time_label_id的部件,可以使用下面代码:
self.ids.time_label_id
设置计算器的显示时间:
通过计时器部件的ID(time_label_id)获得.kv文件中的Label标签后,再为其设置text属性。具体main.py文件内容如下:
from time import strftime
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.boxlayout import BoxLayout
class ClockBoxLayout(BoxLayout):
#初始化
def __init__(self,**kwargs):
su

本文介绍了如何使用Kivy库在计时器应用中实现动态更新显示时间,通过Clock.schedule_interval()方法实现连续执行,并讲解了如何通过ID操作获取和设置Label组件的内容。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



