1) Show your dialog with show() not exec_() if you want the dialog to be non-modal
2) Run your download code in a separate thread, but be sure never to interact with the GUI from the separate thread as Qt is not thread safe.
3) Generally, in calibre, long running background tasks are managed witht he jobs system and you only popup a dialog when the task completes to show the results.
|