[wxPython-users] calling wxPython functions from different thread
jonhattan
jonhattan at faita.net
Mon Feb 11 13:47:25 PST 2008
Jacek Poplawski escribió:
> hello again,
>
> I was trying to make my application multithreaded, I put my calculations
> in different Thread, then I gave this Thread name of the function to
> call when it finish.
> This function updates ListCtrl.
> So it works this way:
>
> - ListCtrl has old values
> - I want to add new element, it requires calculations
> - I call different thread and give it reference to Update() function
> - I do different things while thread does its calculations
> - thread finishes calculations and calls Update()
> - Update() regenerates data in ListCtrl
>
> The problem is, that my GUI is unstable after last step. ListCtrl is not
> updated until I use scroll, then it updates, but I can't click anything
> else in the wxPython window.
you can tell the mainloop to schedule a call from a non-thread via
wx.CallAfter:
wx.CallAfter(the_list.Update, arg1, arg2)
>
> Can I use threads this way when developing wxPython application?
>
> If not, how can I update ListCtrl when another Thread finish its job?
>
> --
> Free Software - find interesting programs and change them
> NetHack - meet interesting creatures, kill them and eat their bodies
> Usenet - meet interesting people from all over the world and flame them
> Decopter - unrealistic helicopter simulator, get it from
> http://decopter.sf.net
More information about the wxpython-users
mailing list