I think we already covered that. It's a modal vs non-modal dialog issue.
Modal dialogs - shown with exec(); won't let you activate any other window in the application until you close them, exactly as you described the message box behavior. Non-modal are the opposite. You can leave them open and go to other windows in the application.
There are application reasons to use both kinds.
When I said to show your dialog with exec(); that was to make it modal as you described the behavior you wanted.
See http://doc.trolltech.com/4.5/qdialog.html#details
Bookmarks