[wxPython-users] Re:

Josiah Carlson jcarlson at uci.edu
Tue Oct 24 23:11:05 EDT 2006


Gabriel Genellina <gagsl-py at yahoo.com.ar> wrote:
> At Tuesday 24/10/2006 23:25, Michael S wrote:
> 
> >I extended part of my program in C, since that part
> >was too involved for Python. Now when I import the
> >module I created and call its functions, I am trying
> >to feedback some information bac to my wxPython
> >program. The function runs for a while and I wanted to
> >update a progress bar, but when I call the function of
> >my new module, wxPython doesn't respond when wx.Timer
> >is supposed to fire.
> 
> Does your extension run on a separate thread? I guess not. So the 
> wxPython code does not have a chance to run.
> Do it the other way: from your C code, call a Python function which 
> in turn updates the progress bar (and keep it simple!)

Unless the GUI thread has a chance to take passes through the wxPython
mainloop, the progress bar, etc., may not actually be updated on some
platforms.

Mr. Sherman would likely be better off creating a new thread which
handles processing, which could update a C global variable, which the
GUI thread can poll to update its progress bar, etc.  Alternatively, if
the processing can be broken down into smaller pieces, the secondary
thread can call the pieces and post events back to the GUI thread to
update the progress bar (via explicit wx.PostEvent or implicit
wx.CallAfter).


 - Josiah




More information about the Python-list mailing list