Как-то так
#include <QApplication>
#include <QMessageBox>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow mainWindow;
auto res = QMessageBox::question(&mainWindow, QMainWindow::tr("Just in case"),
QMainWindow::tr("Are you sure?"));
if (res == QMessageBox::Yes) {
mainWindow.show();
return a.exec();
} else {
return -1;
}
}
Смысл в том, что у вас первое окно -- это модальный диалог (наследник QDialog, допустим). У него есть метод exec обычно, который возвращает результат (например согласился пользователь или нет). На основании результата и решайте, что делать дальше: показать окно или выйти из программы.