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