为什么此Kivy应用程序崩溃而没有任何逻辑错误

时间:2018-12-26 15:18:40

标签: python kivy

我正在制作一个kivy数据库应用程序。运行良好。最近,我添加了一个新功能。从2019年1月1日到2050年1月1日(该应用的首页),将会有一个标签。首先,我用kv代码声明标签。然后为标签提供一个ID。最后我用if语句。如果日期是1月1日,则标签的文本将显示在首页上,例如“ 2019年新年快乐”。逻辑上没有错误。当我使用kivy启动器启动应用程序时,它运行良好。但是问题是,当我按下按钮从主页转到任何页面时,然后当我第二次返回主页时,主页加载得很好,标签的文本需要花费一些时间来加载。最后,该应用程序崩溃没有任何明显的原因。我还能在哪里寻找错误?

我什么也没做,因为我什么都不懂。我认为没有逻辑错误。而且我不知道为什么应用程序崩溃了

python代码

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

kv代码

<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日或暴风雨年份的最后一天,则应该有标签的文本。否则没有文字。启动后第一次运行良好。但是当我转到另一个页面并返回首页时,页面加载和文本标签的加载时间很少。好。现在我转到另一页。然后,如果我返回首页,将加载文本标签,最后应用程序崩溃!

0 个答案:

没有答案