wxPython显示图像一定的时间

时间:2014-06-03 17:14:23

标签: python

我在wxPython中使用代码来显示图像。 我创建了一个带有2个面板的屏幕,一个是左右两个。 在其中一个面板(随机选择)中,我想要显示正好150ms的图像。 我该如何编程呢?我对Python比较陌生,而且我在互联网上找不到任何明确的方法。

我现在的代码(没有150毫秒):

    import wxversion
    wxversion.select("3.0")
    import wx
    import random
    import timeclass Screen_1(wx.Dialog):
    ri  = 0
    def __init__(self,parent,id,title):
    wx.Dialog.__init__(self,parent,id,title,size=(400,300)) 
    self.randomImage = random.randrange(1,3) 
    self.randomSlot = random.randrange(1,3)

    Screen_1.ri = self.randomImage

    if(self.randomSlot == 1):
        self.side = 'Left'
    else:
        self.side = 'Right'


    file = open('User.txt','a')
    panel_left = wx.Panel(self,11,(-1,-1),(200,200)) 
    self.picture_left = wx.StaticBitmap(panel_left)

    font = wx.Font(13,wx.DEFAULT,wx.NORMAL,wx.BOLD)
    panel_centre = wx.Panel(self,12,(200,70),(10,100))
    msg = wx.StaticText(panel_centre,-1,'+',size=(10,100))
    msg.SetFont(font)

    panel_right = wx.Panel(self,13,(210,0),(200,200)) 
    self.picture_right = wx.StaticBitmap(panel_right)

    **self.imageName = 'im_'+str(self.randomImage)+'.png'**

    if self.randomSlot == 1:
        self.picture_left.SetBitmap(wx.Bitmap(self.imageName))
    else:
        self.picture_right.SetBitmap(wx.Bitmap(self.imageName))
    wx.FutureCall(1000,self.Destroy)
    self.Centre()
    self.ShowModal()

def OnClick(self,event):
    self.Close()

非常感谢!

1 个答案:

答案 0 :(得分:1)

def OnTimeUp(self,e):
   #change images
   self.timer.Start(15,oneShot=True) # if you want to call it again in 15 ms
def StartTimer(self):
   self.timer = wx.Timer()
   self.timer.Bind(wx.EVT_TIMER,self.OnTimeUp)
   self.timer.Start(15,oneShot=True)

类似的东西......虽然15ms非常快......