python制作动画为什么不动_python – Tkinter动画不起作用

这篇博客介绍如何在Python的Tkinter库中创建动画GIF。通过使用`after()`方法来定时运行函数,实现GIF动画效果。文中提供了一个名为`AnimatedGif`的类,用于加载和管理动画序列的每一帧,并展示了如何更新Label小部件以显示动画。此外,还提供了启动和停止动画的按钮功能。
摘要由CSDN通过智能技术生成

您可以使用通用Tk窗口小部件

after()方法来计划在以毫秒为单位指定的延迟后运行的函数.这只发生一次,所以通常函数本身也会调用after()来使进程永久化.

在下面的代码中,定义了一个自定义的AnimatedGif容器类,它在一个列表中分别加载和保存动画序列的所有帧,允许使用[]索引语法快速(随机)访问它们.它使用photo Tk manual page中提到的-index indexvalue图像格式子选项从文件中读取单个帧.

您应该能够使用相同的技术为多个图像或附加到其他类型的窗口小部件(如Button和Canvas实例)的图像设置动画.

from Tkinter import *

class AnimatedGif(object):

""" Animated GIF Image Container. """

def __init__(self, image_file_path):

self.image_file_path = image_file_path

self._frames = []

self._load()

def __len__(self):

return len(self._frames)

def __getitem__(self, frame_num):

return self._frames[frame_num]

def _load(self):

""" Read in all the frames of a multi-frame gif image. """

while True:

frame_num = len(self._frames) # number of next frame to read

try:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值