【问题标题】:Animating gif in wxPythonwxPython中的动画gif
【发布时间】:2012-03-23 07:22:56
【问题描述】:

我正在尝试使用 wx-Python (2.7) 制作 gif 动画。下面列出的代码有效,但我想为我创建一个动画 gif 的函数,所以我可以在其他地方使用它。我试过搜索互联网,但我只能在__init__ 函数中找到动画 gif 的代码。有什么想法吗?

# -*- coding: cp1252 -*-
import wx
import wx.animate
class MyPanel(wx.Panel):
    def __init__(self, parent, id):
        wx.Panel.__init__(self, parent, id)
        self.SetBackgroundColour("black")
        gif_fname = "skYmk.gif"
        gif = wx.animate.GIFAnimationCtrl(self, id, gif_fname, pos=(10, 10))
        gif.GetPlayer().UseBackgroundColour(True)
        gif.Play()
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "wx.animate.GIFAnimationCtrl()", size = (200, 220))
MyPanel(frame, -1)
frame.Show(True)
app.MainLoop()

【问题讨论】:

    标签: python animation wxpython gif


    【解决方案1】:

    我不明白你的问题....做这样的事情有什么问题?

    import wx
    import wx.animate
    
    class MyPanel(wx.Panel):
    
        def __init__(self, parent, id):
    
            wx.Panel.__init__(self, parent, id)
            self.SetBackgroundColour("black")
            gif_fname = "skYmk.gif"
            gif = wx.animate.GIFAnimationCtrl(self, id, gif_fname, pos=(10, 10))
            gif.GetPlayer().UseBackgroundColour(True)
    
            self.gif = gif
    
        def CallMeLater(self, play=True):
    
            if play:
                self.gif.Play()
            else:
                self.gif.Stop()
    
    app = wx.PySimpleApp()
    frame = wx.Frame(None, -1, "wx.animate.GIFAnimationCtrl()", size = (200, 220))
    MyPanel(frame, -1)
    frame.Show(True)
    app.MainLoop()
    

    【讨论】:

    • 我不确定 CallMeLater 函数将采用的参数,也没有意识到我必须执行 self.gif.Play()。谢谢,这可能会解决我的问题。
    猜你喜欢
    • 2018-08-29
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2012-08-05
    • 2014-05-18
    • 2013-11-10
    • 2010-12-03
    相关资源
    最近更新 更多