Qt 模态窗口和非模态窗口
1、模态窗口(系统会挂起,不可以其他操作)
QDialog dlg(this); dlg.exec(); qDebug() << "模态窗口";

关闭窗口后会写弹出日志
2、非模板窗口(系统不会挂起,系统会系统走流程)
QDialog *dlg =new QDialog(this); dlg->show(); qDebug() << "非模态窗口";

弹出窗口会直接写出日志
完整的代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDialog"
#include "QDebug"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //模态窗口
    connect(ui->btn1,&QPushButton::clicked,[=](){
       QDialog dlg(this);
       dlg.resize(400,200);
       dlg.exec();
       qDebug() << "模态窗口";
    });
    //非模态窗口
    connect(ui->btn2,&QPushButton::clicked,[=](){
       QDialog *dlg =new QDialog(this);
       dlg->resize(400,200);
       dlg->setAttribute(Qt::WA_DeleteOnClose);
       dlg->show();
       qDebug() << "非模态窗口";
    });
}
MainWindow::~MainWindow()
{
    delete ui;
}其他说明:委托事件关闭后会是否窗口
dlg->setAttribute(Qt::WA_DeleteOnClose);