# 对话框的创建
对话框的分类
1.分类:Qt对话框分为两种:
第一种是模态对话框,只能对对话框操作,不能对其它界面进行操作,利用的是dialog.exec();阻塞状态
QDialog dialog(this);
dialog.exec();
第二种是非模态对话框,可以对别的窗口进行操作。
QDialog *dialog2 = new QDialog(this);
dialog2->show();
//设置窗口不被关闭
dialog2->setAttribute(Qt::WA_DeleteOnClose)
QMessageBox 标准对话框
1.属性:弹出是所有对话框都是模态对话框
2.QMessageBox的静态成员函数
参数1 父窗口 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车按键
(1).错误提示critical
connect(ui->actionMessageBox,&QAction::triggered,[=](){
//1.弹出错误对话框
QMessageBox::critical(this,"错误","critical");
});
(2).警告提示warning
connect(ui->actionMessageBox,&QAction::triggered,[=](){
//2.警告对话框
QMessageBox::warning(this,"警告","FBI warning!");
});
(3).信息提示information
connect(ui->actionMessageBox,&QAction::triggered,[=](){
//3.弹出信息对话框
QMessageBox::information(this,"信息","information");
});
(4).提问提示question
connect(ui->actionMessageBox,&QAction::triggered,[=](){
//4.弹出提问对话框
//参数1 父窗口 参数2 窗口标题 参数3 提示信息 参数4 按键类型
if(QMessageBox::Save == QMessageBox::question(this,"提问","question",QMessageBox::Save | QMessageBox::Cancel))
{
qDebug()<< "点击的是保存";
}
else
{
qDebug()<<"点击的是取消";
}
});
其他对话框
1.文件对话框
参数1 父窗口 参数2 标题 参数3 默认打开路径 参数4 过滤后缀名
QString filename = QFileDialog::getOpenFileName(this,"打开文件","E:/","Doc(*.doc *.docx)" );
qDebug() <<"打开的文件名是:" <<filename.toUtf8().data();
2.颜色对话框
QColor color = QColorDialog::getColor(QColor(255,0,0));
//打印颜色值
qDebug() << color.red() << color.green() << color.blue();
3.字体对话框
connect(ui->actionFont,&QAction::triggered,[=](){
bool ok;//首先定义bool值ok
QFont font = QFontDialog::getFont(&ok,QFont("宋体",20));
qDebug() << "字体:"<< font.family().toUtf8().data() << "字号" <<font.weight() << "是否加粗" << font.bold();
});