Создавать модальный диалог на стеке? Что-то типа:
void MainWindow::showSettingsDialog()
{
QDialog settingsDialog(this);
int result = settingsDialog.exec();
if (result == QDialog::Accepted) {
// Some code here
} else if (result == QDialog::Rejected) {
// Some code here
}
}