如何解决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 文件
,这是另一个完美的答案:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。