Keeping the GUI responsive while the application does some CPU-heavy processing is one of the challenges of effective GUI programming.
Here’s a good discussion of how to do this in wxPython. To summarize, there are 3 ways:
- Use threads
- Use wxYield
- Chunk the work and do it in the IDLE event handler
Which method have you found to be the most effective ? Techniques from other frameworks (like Qt, GTK or Windows API) are also welcome.
Threads. They’re what I always go for because you can do it in every framework you need.
And once you’re used to multi-threading and parallel processing in one language/framework, you’re good on all frameworks.