非模态对话框
非模态对话框在窗口打开后可以对其他窗口进行操作
以下是对actionopen进行点击触发一个非模态对话框。
connect(ui->actionopen,&QAction::triggered,[=](){
//对话框
//非模组创建 匿名函数会释放,所以在堆上开辟
QDialog *dlg1=new QDialog(this);
dlg1->resize(200,100);
dlg1->show();
//关闭时删除
dlg1->setAttribute(Qt::WA_DeleteOnClose);
});
模态对话框
模态对话框在窗口打开后不可以对其他窗口进行操作
以下是对actionsave进行点击触发一个模态对话框。
connect(ui->actionsave,&QAction::triggered,[=](){
//模态创建
QDialog dlg(this);
dlg.resize(200,100);
dlg.exec();//阻塞
});
消息对话框
信息对话框
参数是父类、标题、内容
connect(ui->actionsave,&QAction::triggered,[=](){
QMessageBox::information(this,"info","information");
});
点击按钮后显示
错误对话框
参数是父类、标题、内容
connect(ui->actionsave,&QAction::triggered,[=](){
QMessageBox::critical(this,"error","error!!!");
});
点击按钮后显示
警告对话框
参数是父类、标题、内容
connect(ui->actionsave,&QAction::triggered,[=](){
QMessageBox::warning(this,"warning","warningggggggggggggggg");
});
点击按钮后显示
警告对话框
参数是父类、标题、内容、窗口选择按钮、默认按钮选择
可让QMessageBox::Save接收
connect(ui->actionsave,&QAction::triggered,[=](){
if(QMessageBox::Save==QMessageBox::question(this,"Q","question",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel))
{
qDebug()<<"save";
}
else
{
qDebug()<<"cancel";
}
});
点击按钮后显示
其中默认是cancel按钮,点击后触发输出cancel