【发布时间】:2016-08-29 05:29:01
【问题描述】:
我正在为此使用 wxpython-Phoenix 3.0.3 版本。
我想制作一个播放 GIF 动画的可拖动图像。 当我注释掉动画部分时,该功能工作正常,但在播放动画时它不起作用。 我怎样才能让它们一起工作?
import wx
from wx.adv import AnimationCtrl
class Yukari(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, -1, title)
self.Bind(wx.EVT_MOTION, self.OnMouse)
self.Bind(wx.EVT_CHAR_HOOK, self.closeWindow)
self.animation = AnimationCtrl(self)
self.animation.LoadFile('Resized_Yuzuki-Yukari.gif')
self.animation.Play()
self.SetSize((497, 720))
self.SetWindowStyle(wx.SIMPLE_BORDER | wx.STAY_ON_TOP)
self.Show()
def OnMouse(self, event):
if not event.Dragging():
self._dragPos = None
pass
if not self._dragPos:
self._dragPos = event.GetPosition()
else:
pos = event.GetPosition()
displacement = self._dragPos - pos
print(displacement)
self.SetPosition(self.GetPosition() - displacement)
def closeWindow(self, event):
key_code = event.GetKeyCode()
if key_code == wx.WXK_ESCAPE:
self.Destroy()
event.Skip()
app = wx.App()
frame = Yukari(None, -1, 'Yuzuki Yukari')
app.MainLoop()
【问题讨论】:
标签: animation wxpython draggable gif