如何在kivy按下按钮时使用动画gif?

问题描述 投票:2回答:1

我在kivy中有这个切换按钮,我希望它在按下时动画显示(它是按钮gif上的电源)但没有循环。我似乎无法找到任何有用的信息。任何帮助表示赞赏,谢谢!

python kivy animated-gif kivy-language
1个回答
1
投票

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

  • 在启动anim_delay = -1时禁用动画。
  • 使用anim_loop = 1指定要播放的循环数
  • 按下按钮时,为anim_delay指定一个正值,并使用anim_reset使用的kivy.core.image实例的kivy.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() 

<code>enter image description here</code>

© www.soinside.com 2019 - 2024. All rights reserved.