You are doing the download in threads? Maybe that is causing the unresponsiveness then, threads are somewhat problematic in Python, especially when used to gain responsiveness. (One could argue that threads are always a suboptimal solution if single threaded solutions are available) In a Qt application, you should use QNetworkAccessManager to do the downloads in asynchronous fashion. You can track progress with that as well: http://doc.qt.nokia.com/4.7-snapshot...wnloadProgress