nt QDialog::exec () [slot]
Shows the dialog as a modal dialog, blocking until the user closes it. The function returns a DialogCode result.
If the dialog is application modal, users cannot interact with any other window in the same application until they close the dialog. If the dialog is window modal, only interaction with the parent window is blocked while the dialog is open. By default, the dialog is application modal.
See also open(), show(), result(), and setWindowModality().
попробуй просто
show()предварительно сделав диалог модальным.