Gabriel Genellina <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list