一、模态对话框与非模态对话框
当使用模态对话框使用时,无法对父窗口进行操作。
当对非模态对话框使用时,可以对父窗口进行操作。
二、项目界面
三、对话框使用
#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;
}