wxPython -- 显示 GIF 动图
本帖最后由 zltzlt 于 2020-8-9 20:15 编辑wxPython -- 显示 GIF 动图
wx.adv 包中的 Animation 和 AnimationCtrl 类配合使用可以在窗口上显示 GIF 动图(也就是动画)。
wx.adv.AnimationCtrl 的语法格式如下:
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() 方法。
例如:
import wx
from wx.adv import Animation, AnimationCtrl
class Frame(wx.Frame):
def __init__(self):
super().__init__(None, -1, '动画', size=(250, 250))
panel = wx.Panel(self)
wx.StaticText(panel, -1, 'Loading...', (20, 10))
animation = AnimationCtrl(panel, -1, Animation('loading.gif'), pos=(20, 30)) # 创建一个动画
animation.Play() # 播放动图
if __name__ == '__main__':
app = wx.App()
Frame().Show()
app.MainLoop()
loading.gif 文件如下:
程序执行效果:
支持一下 hrp 发表于 2020-8-9 20:14
支持一下
感谢{:10_281:} Tkinter可以做这样的效果吗? 本帖最后由 悠悠2264 于 2020-8-10 10:08 编辑
支持{:7_146:}
可以搞成模块文档{:10_256:} {:7_146:} 现在还完全看不懂 手动点赞 {:5_95:} {:5_95:} 资瓷 支持,虽然现在看不懂 迟到{:7_114:} Hello. 发表于 2020-8-11 22:08
迟到
{:10_297:}没事 差点给我整懵了~抛砖引玉 这动图是一直加载的图标吗0.0还是我网卡了 送鱼币? 送鱼币 一个人只要还有奖励,最多可以领十次 Hello. 发表于 2020-8-11 22:08
迟到
!!