1、消息对话框<QMessageBox>
1.1、出错
QMessageBox::critical(this,"critical","错误的内容");
1.2、信息
QMessageBox::information(this,"information","提示的消息内容");
1.3、提问
设置提问的标题、内容;按钮的内容及默认选择的按钮。
int res_ques;
res_ques = (QMessageBox::question(this,"question","问题的内容",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Save));
if(res_ques == QMessageBox::Save){
qDebug()<<"保存的操作";
}else if(res_ques == QMessageBox::Cancel){
qDebug()<<"取消的操作";
}
1.4、警告
QMessageBox::warning(this,"warning","警告的内容");
2、颜色对话框<QColorDialog>
可返回设置新的颜色的RGB值。
QColor color = QColorDialog::getColor(Qt::black); //设置默认的颜色为黑色
qDebug() << "r:" << color.red(); //返回值是颜色的RGB值
qDebug() << "g:" << color.green();
qDebug() << "b:" << color.blue();
3、文件对话框<QFileDialog>
第二个参数,窗口的标题。
第三个参数,默认的打开路径。
第四个参数,过滤出txt格式的文件。
返回值是打开的文件路径。
QString str = QFileDialog::getOpenFileName(this,"打开txt文件","C:\\Users\\Administrator\\Desktop","(*.txt)");
qDebug() << str;
4、字体对话框<QFontDialog>
可设置默认的字体和字号。
可返回选择字体的类型和字号。
QFont font = QFontDialog::getFont(&flag,QFont("楷体",20),this,"字体对话框");
qDebug() << "字体:" << font.family().toUtf8().data();
qDebug() << "字号:" << font.pointSize();
5、自定义对话框<QDialog>
5.1、模态对话框
QDialog dlg(this);
创建在栈上,new会创建在堆上,因为模态对话框一旦打开,必须要关闭之后才能对主窗口进行操作,创建在栈上关闭就会被销毁。
QDialog dlg(this);
dlg.resize(200,100);
dlg.exec();
5.2、非模态对话框
非模态对话框需要设置属性,关闭的时候,delete释放掉内存。
QDialog *dlg2 = new QDialog(this);
dlg2->resize(200,100);
dlg2->show();
dlg2->setAttribute(Qt::WA_DeleteOnClose);