Qt中的对话框分为:模态对话框和非模态对话框。
模态对话框:不可以对其他窗口进行操作,是阻塞的。
非模态对话框:可以对其他窗口进行操作。
模态对话框的创建:
QDialog dlg(this);
dlg.exec();
非模态对话框的创建:
防止对话框一闪而过 创建到堆区
QDialog *dlg = new QDialog(this);
dlg->show();
dlg->setAttribute(Qt::WA_DeleteOnClose);//55号属性 在点击×关闭对话框时 同时释放资源
标准对话框 ------ 消息对话框
1:QMessageBox静态成员函数 创建对话框
分别有critical错误 information信息 question问题 warning警告 四种。
//错误对话框
//QMessageBox::critical(this,"critical","错误");
//信息对话框
//QMessageBox::information(this,"information","信息");
//问题对话框
//参数1 parent 参数2 标题 参数3 显示的信息 参数4 yes|no 也可以改成其他的 参数5 默认回车是哪个选项
// if(QMessageBox::Save == QMessageBox::question(this,"question","问题",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel))
// {
// qDebug()<<"选择的保存!";
// }
// else
// {
// qDebug()<<"选择的取消!";
// }
//警告对话框
//QMessageBox::warning(this,"warning","警告");
其他标准对话框
1:颜色对话框 QColorDialog::getColor
// QColor color = QColorDialog::getColor(QColor(255,0,0));
// qDebug()<<"r= "<<color.red()<<"g= "<<color.green()<<"b= "<<color.blue();
2:文件对话框QFileDialog::getOpenFileName(父亲,标题,默认路径,过滤后所要看的文件类型)
//返回值是选取的路径
// QString str = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\LEN\\Desktop","(*.txt)");
// qDebug()<<str;
3:字体对话框 QFontDialog::getFont
bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
qDebug()<<"字体:"<<font.family().toUtf8().data()<<"字号"<<font.pointSize()<<"是否加粗"<<font.bold()<<"是否倾斜"<<font.italic();