469,923 Members | 1,650 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,923 developers. It's quick & easy.

Why is my wxPython code skipping steps

Hey everyone,

Below is my code for Python. The reason I'm using times is so that the program runs and then goes off a little bit in the future. So what I do is set the time about a minute later than the current time. Then I run the program and when it is time, the boxes come up. Sometimes they will go the current location fine, but other times, usually when the computer is doing something.. like if I am loading a video on youtube, etc...the boxes will freeze at random points before they get to the set location. What is going on here!

Also, the reason I have the time.sleep(0.5) in the while loop is because otherwise the program hogs up the computer's resources. Sorry for the sloppiness in the while loop.. just trying to test the code! Thanks everyone!

Expand|Select|Wrap|Line Numbers
  1. import wx
  2. import wx.lib
  3. import time
  4. import webbrowser
  5.  
  6. class Window ( wx.MiniFrame ):
  7.  
  8.    def __init__ ( self ):
  9.  
  10.         mini = wx.MiniFrame(None, -1, 'A Small Frame', pos=(wx.DisplaySize()[0]-250,wx.DisplaySize()[1]), size=(250,80), style=wx.STAY_ON_TOP)
  11.         mini.SetBackgroundColour("#506970")
  12.         mini5 = wx.MiniFrame(mini, -1, 'Background Part', pos=(wx.DisplaySize()[0]-250,wx.DisplaySize()[1]+15), size=(250,65), style=wx.STAY_ON_TOP)
  13.         mini5.SetBackgroundColour("green")
  14.  
  15.  
  16.         stepZZZ2 = wx.StaticText(mini, -1, "X" , pos=(250-14-3, 0), size = (14,14) )
  17.         stepZZZ2.SetForegroundColour("#F0F0F0")
  18.         stepZZZ2.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.FONTWEIGHT_BOLD, False, u'Tahoma'))
  19.         stepZZZ2.SetCursor(wx.StockCursor(wx.CURSOR_HAND))
  20.         stepZZZ2.Bind(wx.EVT_LEFT_DOWN, lambda e, s=self: self.closeOut(mini))
  21.  
  22.  
  23.         str1 = "Random text"
  24.         step5a = wx.StaticText(mini, -1, str1 , wx.Point(5, 0))
  25.         step5a.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.NORMAL, False, u'Tahoma'))
  26.         step5a.SetForegroundColour("#F0F0F0")
  27.  
  28.  
  29.         stepZZZ = wx.StaticText(mini, -1, "X" , pos=(250-14-3, 0), size = (14,14) )
  30.         stepZZZ.SetForegroundColour("#F0F0F0")
  31.         stepZZZ.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.FONTWEIGHT_BOLD, False, u'Tahoma'))
  32.         stepZZZ.SetCursor(wx.StockCursor(wx.CURSOR_HAND))
  33.         stepZZZ.Bind(wx.EVT_LEFT_DOWN, lambda e, s=self: self.closeOut(mini))
  34.  
  35.  
  36.         strALOT = "Random link"
  37.         step5z = wx.StaticText(mini5, -1, strALOT,  pos = (0,0), size=(250,65), style=wx.ALIGN_CENTER)
  38.         step5z.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.FONTWEIGHT_BOLD, False, u'Tahoma'))
  39.         step5z.SetForegroundColour("black")
  40.         step5z.SetCursor(wx.StockCursor(wx.CURSOR_HAND))
  41.         step5z.Wrap(230)
  42.         step5z.Bind(wx.EVT_LEFT_DOWN, lambda e, s=self: s.loadLink())
  43.         step5z.SetPosition( (  (250-step5z.GetSize()[0])/2.0, (65-step5z.GetSize()[1])/2.0   ))
  44.  
  45.  
  46.         mini.Show(True)
  47.         mini5.Show(True)
  48.         currX = wx.DisplaySize()[0]-250
  49.         currY = wx.DisplaySize()[1]
  50.         currX2 = wx.DisplaySize()[0]-250
  51.         currY2 = wx.DisplaySize()[1]+15
  52.         for count in range(110):
  53.             step5a.Update()
  54.             step5z.Update()
  55.             stepZZZ.Update()
  56.             time.sleep(1/110.0)
  57.             mini.Move( (currX, currY-(count+1)) )
  58.             mini5.Move( (currX2, currY2-(count+1)) )
  59.  
  60.  
  61.         mini.Show ( True )
  62.         mini5.Show ( True )
  63.    def closeOut(self,mini2):
  64.       mini2.Destroy()
  65.    def loadLink(self):
  66.       webbrowser.open("http://www.google.com/")
  67.  
  68.  
  69.  
  70. application = wx.PySimpleApp()
  71. timelater=time.mktime((2008,12,28,9,2,30,362,5,-1))
  72. count=0
  73. donebefore="no"
  74. doit="no"
  75. while(True):
  76.     count=count+1
  77.     timenow=time.mktime(time.gmtime())
  78.     if(timenow > timelater and donebefore=="no"):
  79.        doit="yes"
  80.        donebefore="yes"
  81.     else:
  82.        doit="no"
  83.  
  84.     if(doit=="yes"):
  85.         Window()
  86.     time.sleep(.5)
  87.     application.MainLoop()   
  88.  
  89.  
Dec 28 '08 #1
0 1648

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

1 post views Thread by Anand | last post: by
1 post views Thread by wang xiaoyu | last post: by
7 posts views Thread by SeeBelow | last post: by
15 posts views Thread by Grant Edwards | last post: by
25 posts views Thread by BJörn Lindqvist | last post: by
13 posts views Thread by Peter Maas | last post: by
reply views Thread by Robin Dunn | last post: by
reply views Thread by Robin Dunn | last post: by
5 posts views Thread by Brian Blais | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.