kivy Python: 等待登录密码校验码时的动图

kivy Python: animated picture while waiting Login Password check code

我需要在检查登录密码时打开弹出窗口window。 之后我会将登录密码代码放在时间代码的位置。 但即使有时间码,我也无法打开动画 Gif,10 秒后 window 自动关闭。 这是我的代码

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.gridlayout import GridLayout
import time
kv = """
<Test@AnchorLayout>:
    AsyncImage:
        source: 'wait.gif'
        anim_delay: 0.1
Test:"""



class TestApp(App):

    def build(self):
        layout = GridLayout(cols=1, padding=10)
        anim = Builder.load_string(kv)
        layout.add_widget(anim)
        popup = Popup(content=layout)  
        popup.open()  
        print('Hello world')
        now = time.time()
        future = now + 10
        while time.time() < future:
        popup.dismiss()
        

if __name__ == '__main__':
    TestApp().run()

仔细看,popup.dismiss()一定是缩进块

#↓
if time.time()>future:
    #         ↑
    popup.dismiss()

如果您在时间小于 future 时关闭弹出窗口,则不会发生任何事情……还要注意计算机能够找到正确的 gif 文件

my code is working :D

这是另一个完美的答案:

from kivy.clock import Clock
#rest of the code above
    def build(self):
            layout = GridLayout(cols=1, padding=10)
            anim = Builder.load_string(kv)
            layout.add_widget(anim)
            popup = Popup(content=layout)
            popup.open()
            print('Hello world')
Clock.schedule_once(App().get_running_app().stop,10)#....rest of the code below

你可以使用时钟功能。 idk为什么我忘记了哈哈;D