模态
开启时不能对其他窗口进行操作
创建方式
connect(ui->actionnew_2,&QAction::triggered,[=](){
//对话框分类
//模态对话框(不可以对其他的窗口进行操作) 非模态对话框(可以对其他的窗口进行操作)
//模态创建
QDialog dlg(this);
dlg.resize(200,100);
dlg.exec();//创建
qDebug()<<"模态的对话框弹出了";//关闭弹窗之后才会显示
});
非模态
开启时能对其他窗口进行操作
创建方式
connect(ui->actionnew_2,&QAction::triggered,[=](){
//非模态创建
QDialog * dlg2=new QDialog(this);
dlg2->setAttribute(Qt::WA_DeleteOnClose);//关闭窗口时自动释放 避免内存泄露
dlg2->show();
});
对话框
1.消息对话框
1.1错误对话框
QMessageBox::critical(this,"critical","错误");//模态
1.2提问对话框
//参数1 父亲 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车的按键
if(QMessageBox::Save== QMessageBox::question(this,"ques","提问",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel)){
qDebug()<<"保存成功";
}else{
qDebug()<<"保存失败";
}
1.3警告对话框
QMessageBox::warning(this,"warning","警告");
2.其他标准对话框
2.1颜色对话框
QColor color= QColorDialog::getColor(QColor(255,0,0));//默认白色 具有返回值
qDebug()<<"r="<<color.red()<<"g="<<color.green()<<"b="<<color.blue();//打印颜色信息(rgb)
2.2文件对话框
//文件对话框 参数1 父亲 参数2 标题 参数3 默认打开路径 参数4 过滤文件格式
QString str= QFileDialog::getOpenFileName(this,"打开文件","D:\\photo","*.jpg");
qDebug()<<str;//返回选取的路径
2.3字体对话框
bool flag;
QFont font= QFontDialog::getFont(&flag,QFont("仿宋",36));//选择默认字体
qDebug()<<"字体:"<<font.family()<<"字号:"<<font.bold()<<"是否倾斜"<<font.italic();
完整代码mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDialog>
#include<QDebug>
#include<QMessageBox>
#include<QColorDialog>
#include<QFileDialog>
#include<QFontDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建按钮弹出对话框
connect(ui->actionnew_2,&QAction::triggered,[=](){
// //对话框分类
// //模态对话框(不可以对其他的窗口进行操作) 非模态对话框(可以对其他的窗口进行操作)
// //模态创建
// QDialog dlg(this);
// dlg.resize(200,100);
// dlg.exec();//创建
// qDebug()<<"模态的对话框弹出了";
// //非模态创建
// QDialog * dlg2=new QDialog(this);
// dlg2->setAttribute(Qt::WA_DeleteOnClose);//关闭窗口时自动释放 避免内存泄露
// dlg2->show();
//消息对话框
//错误对话框
//QMessageBox::critical(this,"critical","错误");//模态
//信息对话框
//QMessageBox::information(this,"info","信息");
//提问对话框
//参数1 父亲 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车的按键
// if(QMessageBox::Save== QMessageBox::question(this,"ques","提问",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel)){
// qDebug()<<"保存成功";
// }else{
// qDebug()<<"保存失败";
// }
//警告对话框
//QMessageBox::warning(this,"warning","警告");
//其他标准对话框
//颜色对话框
// QColor color= QColorDialog::getColor(QColor(255,0,0));//默认白色 具有返回值
// qDebug()<<"r="<<color.red()<<"g="<<color.green()<<"b="<<color.blue();//打印颜色信息(rgb)
//文件对话框 参数1 父亲 参数2 标题 参数3 默认打开路径 参数4 过滤文件格式
// QString str= QFileDialog::getOpenFileName(this,"打开文件","D:\\photo","*.jpg");
// qDebug()<<str;//返回选取的路径
//字体对话框(选择字体)
// bool flag;
// QFont font= QFontDialog::getFont(&flag,QFont("仿宋",36));//选择默认字体
// qDebug()<<"字体:"<<font.family()<<"字号:"<<font.bold()<<"是否倾斜"<<font.italic();
});
}
MainWindow::~MainWindow()
{
delete ui;
}