如何使用在 kivy 中作为按钮按下时会播放的动画 gif?

Bax*_*orr 4 python animated-gif kivy kivy-language

我在 kivy 中有这个切换按钮,我希望它在按下时动画(这是一个开机按钮 gif)但没有循环。我似乎找不到任何关于此的有用信息。任何帮助表示赞赏,谢谢!

FJS*_*lla 6

使用kivy.uix.image按钮内的实例,您可以执行以下操作:

  • 在启动时禁用动画anim_delay = -1

  • 使用指定要播放的循环数 anim_loop = 1

  • 当按钮被按下时,为包含图像的实例anim_delayanim_reset方法分配一个正值并重新启动动画。kivy.core.imagekivy.uix.image


from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder

Builder.load_string("""
<ExampleApp>:
    orientation: "vertical"
    Button:
        text: ""
        on_press: gif.anim_delay = 0.10
        on_press: gif._coreimage.anim_reset(True)

        Image:
            id: gif
            source: 'img.gif'
            center: self.parent.center
            size: 500, 500
            allow_stretch: True
            anim_delay: -1
            anim_loop: 1
""")

class ExampleApp(App, BoxLayout):
    def build(self):
        return self

if __name__ == "__main__":
    ExampleApp().run() 
Run Code Online (Sandbox Code Playgroud)

<code>在此处输入图片描述</code>