我正在制作一个kivy数据库应用程序。运行良好。最近,我添加了一个新功能。从2019年1月1日到2050年1月1日(该应用的首页),将会有一个标签。首先,我用kv代码声明标签。然后为标签提供一个ID。最后我用if语句。如果日期是1月1日,则标签的文本将显示在首页上,例如“ 2019年新年快乐”。逻辑上没有错误。当我使用kivy启动器启动应用程序时,它运行良好。但是问题是,当我按下按钮从主页转到任何页面时,然后当我第二次返回主页时,主页加载得很好,标签的文本需要花费一些时间来加载。最后,该应用程序崩溃没有任何明显的原因。我还能在哪里寻找错误?
我什么也没做,因为我什么都不懂。我认为没有逻辑错误。而且我不知道为什么应用程序崩溃了
class LoginPage(BoxLayout):
mm=ObjectProperty()
nn=ObjectProperty()
oo=ObjectProperty()
def __init__(self,**kwargs):
super(LoginPage,self).__init__(**kwargs)
Clock.schedule_interval(self.update,1)
def update(self,*args):
h=str(date.today())
j=str(time.strftime("%H:%M:%S"))
if h=="2018-12-25":
self.ids.a.text="2019!! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2019-12-31":
self.ids.a.text="2020! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2020-12-31":
self.ids.a.text="2021! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2021-12-31":
self.ids.a.text="2022!! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2022-12-31":
self.ids.a.text="2023!! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2023-12-31":
self.ids.a.text="2024!! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
elif h=="2024-12-31":
self.ids.a.text="2025!! "
self.ids.c.text="Have A Very Great Year. "
self.ids.b.text="HAPPY NEW YEAR"
else:
pass
<LoginPage>:
mm:a
nn:b
oo:c
orientation:"vertical"
BoxLayout:
orientation:"vertical"
canvas.before:
Color:
rgba:1,1,1,1
Rectangle:
pos:self.pos
size:self.size
source:"log.png"
BoxLayout:
orientation:"vertical"
height:"70dp"
size_hint_y:None
Label:
id:a
text:""
color:1,0,0,1
font_size:38
Label:
id:b
text:""
font_size:32
Label:
id:c
text:""
font_size:32
当我运行该应用程序时,如果日期是任何一年的1月1日或暴风雨年份的最后一天,则应该有标签的文本。否则没有文字。启动后第一次运行良好。但是当我转到另一个页面并返回首页时,页面加载和文本标签的加载时间很少。好。现在我转到另一页。然后,如果我返回首页,将加载文本标签,最后应用程序崩溃!