一、模态对话框与非模态对话框
当使用模态对话框使用时,无法对父窗口进行操作。
当对非模态对话框使用时,可以对父窗口进行操作。
二、项目界面
三、对话框使用
#include "mainwindow.h" #include "ui_mainwindow.h" #include<QDebug> #include<QDialog> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //点击新建按钮,弹出一个对话框 connect(ui->actionnew,&QAction::triggered,[=](){ //对话框 分类 //模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作) //模态创建 阻塞 // QDialog dlg(this); // dlg.resize(200,100); //重置大小 // dlg.exec(); // qDebug()<<"模态对话框弹出了"; //非模态对话框 QDialog * dlg2=new QDialog(this); dlg2->resize(200,100); dlg2->setAttribute(Qt::WA_DeleteOnClose); //关闭后释放 dlg2->show(); qDebug()<<"非模态对话框弹出"; }); } MainWindow::~MainWindow() { delete ui; }