#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->actionNew,&QAction::triggered,[=](){
//对话框分类:
//模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作)
//模态创建 阻塞功能
// QDialog dlg(this); //?栈内存
// dlg.resize(200,100);
// dlg.exec();
// qDebug()<<"模态对话框弹出了";
//非模态对话框
QDialog * dlg2=new QDialog(this);//放置在了堆内存中(不会一闪而过)
dlg2->resize(400,300);
dlg2->show(); //为了避免持续的创建删除影响整个内存的使用
dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性
qDebug()<<"非模态对话框弹出了";
});
}
MainWindow::~MainWindow()
{
delete ui;
}
标签:模态,完整版,dlg,QT,对话框,ui,P20,include,MainWindow
From: https://www.cnblogs.com/Vivian-0918/p/17563809.html