鱼C论坛

 找回密码
 立即注册
查看: 3082|回复: 41

[技术交流] wxPython -- 显示 GIF 动图

[复制链接]
发表于 2020-8-9 20:13:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-8-9 20:15 编辑

wxPython -- 显示 GIF 动图


wx.adv 包中的 Animation 和 AnimationCtrl 类配合使用可以在窗口上显示 GIF 动图(也就是动画)。

wx.adv.AnimationCtrl 的语法格式如下:

  1. AnimationCtrl(parent, id=wx.ID_ANY, anim=wx.adv.NullAnimation, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.adv.AC_DEFAULT_STYLE, name=wx.adv.AnimationCtrlNameStr)
复制代码


其中:

  • parent 代表该控件的父窗口
  • id 代表该控件的 ID,通常保持默认
  • anim 表示在控件中显示的动画 wx.adv.Animation(filename)(filename 为动图的路径)
  • pos 为该控件在窗口中的位置 (x, y)
  • size 为该空间在窗口中的大小 (width, height)
  • style 为该控件的样式(一般这个参数保持默认)
  • name 为该控件的名字


创建完一个动画控件后,动图还不会自动播放,得调用 Play() 方法播放动图,想让动图停止播放时可以使用 Stop() 方法。

例如:

  1. import wx
  2. from wx.adv import Animation, AnimationCtrl


  3. class Frame(wx.Frame):
  4.     def __init__(self):
  5.         super().__init__(None, -1, '动画', size=(250, 250))
  6.         panel = wx.Panel(self)
  7.         wx.StaticText(panel, -1, 'Loading...', (20, 10))
  8.         animation = AnimationCtrl(panel, -1, Animation('loading.gif'), pos=(20, 30))    # 创建一个动画
  9.         animation.Play()    # 播放动图


  10. if __name__ == '__main__':
  11.     app = wx.App()
  12.     Frame().Show()
  13.     app.MainLoop()
复制代码


loading.gif 文件如下:

loading.gif

程序执行效果:

1.png

评分

参与人数 2荣誉 +5 鱼币 +10 贡献 +3 收起 理由
Hello. + 5 无条件支持楼主!
悠悠2264 + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-9 20:14:44 From FishC Mobile | 显示全部楼层
支持一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 20:15:00 | 显示全部楼层

感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 21:58:10 | 显示全部楼层
Tkinter可以做这样的效果吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 10:07:40 | 显示全部楼层

回帖奖励 +2 鱼币

本帖最后由 悠悠2264 于 2020-8-10 10:08 编辑

支持

可以搞成模块文档
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 11:10:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-10 12:58:42 | 显示全部楼层

回帖奖励 +2 鱼币

现在还完全看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 20:24:02 | 显示全部楼层

回帖奖励 +2 鱼币

手动点赞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 20:31:54 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-10 21:58:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-10 22:36:55 | 显示全部楼层

回帖奖励 +2 鱼币

资瓷
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-11 21:56:38 | 显示全部楼层

回帖奖励 +2 鱼币

支持,虽然现在看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 22:08:34 | 显示全部楼层

回帖奖励 +2 鱼币

迟到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-11 22:14:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 22:29:46 | 显示全部楼层
差点给我整懵了~抛砖引玉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 23:50:45 | 显示全部楼层

回帖奖励 +2 鱼币

这动图是一直加载的图标吗0.0还是我网卡了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 13:16:02 | 显示全部楼层

回帖奖励 +2 鱼币

送鱼币?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 13:17:08 | 显示全部楼层

回帖奖励 +2 鱼币

送鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-12 13:18:12 | 显示全部楼层
一个人只要还有奖励,最多可以领十次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 10:39:59 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 23:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表