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 h
Working with Qt/C++ for Win32.
We divide the major work units into different processes. The GUI runs as a separate process and is able to command/receive data from the "worker" processes as needed. Works nicely in todays multi-core world.