Newbie wxpython staticbitmap help please

jean-michel bain-cornu jmbc at nospam.fr
Fri Jun 16 03:14:56 EDT 2006


Hi,
janama a écrit :
> jean-michel bain-cornu wrote:
>> Why won't you write it yourself using the demo ?
>> It's clear and well documented.
>> Regards,
>> jm
> 
> Hi, have been just trying for 5 hours with the timer demo in wx, i just
> havnt clicked with how to tie it in together,
> 
> I know (think) i need the following features from the timer demo ,
> where you can periodically call a function using the wx.timer
> 
> self.Bind(wx.EVT_TIMER, self.OnTest1Timer)
> #---(bind to the frame ?)
Bind to any method
> 
> self.Bind(wx.EVT_BUTTON, self.OnTest3Start, t3b1)
> #---(this binds to a button, how do i bind to my application on load or
> startup instead ?)
???
> 
>     def OnTest1Timer(self, evt):
>         self.log.write("got EVT_TIMER event\n")
> #---(dont think i need the logging?)
You don't need of course, it's just for demo information.
> 
>     def OnTest3Start(self, evt):
>         self.t3 = NotifyTimer(self.log)
>         self.t3.Start(1000)
>         self.log.write("NotifyTimer timer started\n")
>         self.t3b2.Enable()
> 
> #---(the Start i guess i will work if i remap the button event to an on
> load type? event?
> 
>     def OnTest3Stop(self, evt):
>         self.t3.Stop()
>         self.log.write("NotifyTimer timer stoped\n")
>         del self.t3
>         self.t3b2.Disable()
> #---(Guess i wont need to stop the timer, as i want it to trigger the
> 'refreshing' of the StaticBitmaps ?)
> 
> # When deriving from wx.Timer you must provide a Notify method
> # that will be called when the timer expires.
> class NotifyTimer(wx.Timer):
>     def __init__(self, log):
>         wx.Timer.__init__(self)
>         self.log = log
> 
>     def Notify(self):
>         self.log.write("got NotifyTimer event\n")
> #---(dont know if i need this if i dont want to use this log feature)?
> 
> 
>  Im sorry if this all seems really amatuerish, i have genuially tried
> hard to get my head around it , but i get error after error in boa.
Boa is well done for editing, simple objects generation, also for 
learning, but not for complex operation. It's not a good idea to use it 
for your present need.
> Somewhone couldnt append a timer and perhaps help to refresh the
> StaticBitmaps described, with the code, in first post). I will be able
> to see and learn greatly from this.
> 
> Maybe some advice on where to find lists of the methods used in
> wxpython
> For example it took me hours to find methods ? like
In the help file, there is an alphabetic classes list, with (quite) all 
the methods.
> 
> StaticBitmap.SetImage("imageName")
> 
> Is there any good lists of these methods, properties etc for wxpython
> controls?
See before. This is the best, and also the demo (and also the sources).
> 
> Any good wxpython ide/editors that can "intellisense" them?  boa,
> komodo, stani's arnt working with "intellisensing" wx for me, (maybe i
> cant configure them though)
The best is probably boa, because it have got a debugger, with a 
separate process launched for testing.
> 
> Thanks for any help with any of this
> 
> Regards
> 
All what you have to do is :
     def __init__(self, parent):
         self._init_ctrls(parent)
         self.t1 = wx.Timer(self)
         self.t1.Start(2000) # 2 seconds
         self.Bind(wx.EVT_TIMER, self.OnTest1Timer)

     def OnTest1Timer(self, evt):
         if os.path.isfile('App1.py'):
             i = wx.Image('image.jpg',wx.BITMAP_TYPE_JPEG)
             b1 = wx.BitmapFromImage(i)
             self.staticBitmap1.SetBitmap(b1)
And you can continue to use Boa as usual.
Hope you'll enjoy,
jm
Ps: tested on xp, pretty sure it works also on linux.



More information about the Python-list mailing list