views:

97

answers:

2

Hi all, i was wondering how to update a StaticText dynamically in wxpython? I have a script that goes every five minutes and reads a status from a webpage, then prints using wxpython the status in a static input. How would i dynamically, every 5 minutes update the statictext to reflect the status?

thanks alot

-soule

+1  A: 

Call the SetLabel method in your static text instance. So you don't run into conflict with the size, make sure your StaticText instance is created with enough space to write the future labels you'll want to write to it.

tom10
Thanks for the answer. The two strings it's gonna print is :"code available" and 'no code available". Do you have any example how to use the Setlabel? sorry, im a bit of a newbie. I got around this problem by restarting my program every five minutes, but i'm sure there's a more efficient way..
Soule
A: 

Use a wx.Timer. You bind the timer to an event and in the event handler you call the StaticText control's SetLabel.

See the following page for an example on timers:

http://www.blog.pythonlibrary.org/2009/08/25/wxpython-using-wx-timers/

As for setting the label, the code would look something like this:

self.myStaticText.SetLabel("foobar")

Hope that helps!

Mike Driscoll
WOOHOO! that did the trick! geniusyou solved my problem! thank you mike, i greatly appreciate it!!
Soule
No problem. Glad you got it!
Mike Driscoll