kivy Python:等待登录密码检查代码的动画图片

问题描述

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

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()

如果您在不到将来的时间内关闭弹出窗口,则不会发生任何事情......还要注意计算机能够找到正确的 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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...