模态和非模态对话框创建
在ui上简单创建个界面
在mainWindow.cpp中添加代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDialog>
#include<QDebug>
#pragma execution_character_set("utf-8")
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建按钮 弹出一个对话框
connect(ui->actionnew,&QAction::triggered,[=](){
//对话框分类
//模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作)
//模态创建 阻塞
// QDialog dlg(this);
// dlg.resize(300,200);
// dlg.exec();
// qDebug()<<"模态对话框弹出";
//非模态创建
//为了防止一闪而过,放在堆区
QDialog * dlg2=new QDialog(this);
dlg2->resize(300,200);
dlg2->show();
//为了防止该窗口对象无限创建,导致内存溢出,设置属性使窗口在关闭的时候释放掉
dlg2->setAttribute(Qt::WA_DeleteOnClose);
qDebug()<<"非模态对话框弹出";
});
}
MainWindow::~MainWindow()
{
delete ui;
}