Qt——模态和非模态对话框
作者:互联网
模态对话框创建之后,不能对其他窗口进行操作;
飞沫太对话框在对话窗口创建之后,可以对其他窗口进行操作;
#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.exec();
// dlg.resize(200,100);
// qDebug()<<"模态对话框";
//非模态对话框
QDialog * dlg = new QDialog(this); //如果不创建在堆上,在栈上的话,按钮按下去只会闪一下,按钮恢复之后相当于程序结束,数据被释放;
dlg->show();
dlg->resize(200,100);
dlg->setAttribute(Qt::WA_DeleteOnClose);//55号属性,防止对象无限创建造成空间泄漏;
qDebug()<<"非模态对话框";
});
}
MainWindow::~MainWindow()
{
delete ui;
}
标签:模态,dlg,Qt,对话框,ui,窗口,include 来源: https://blog.csdn.net/cha1290878789/article/details/118075047