- 对话框
- 分类
- 模态对话框
QDialog dlg(this); dlg.resize(200,100); dlg.exec(); //窗口阻塞
- 非模态对话框
QDialog *dlg2 = new QDialog; //防止一闪而过,创建到堆区 dlg2->resize(200,100); dlg2->show(); dlg2->setAttribute(Qt::WA_DeleteOnClose); //自动销毁内存,防止内存泄漏
- 模态对话框
- 标准对话框 - 消息对话框
- QMessageBox 静态成员函数 创建对话框
- 错误、信息、提问、警告
- 只需要注意提问的最后一个参数是关联回车键的即可
- 返回值是StandardButton类型,可以用它来反馈用户的选择
- 代码
//点击新建按钮 弹出一个对话框 connect(ui->actionNew, &QAction::triggered,[=](){ //对话框 分类 //模态对话框 非模态对话框 //模态创建 QDialog dlg(this); dlg.resize(200,100); dlg.exec(); //非模态对话框 QDialog *dlg2 = new QDialog; dlg2->resize(200,100); dlg2->show(); dlg2->setAttribute(Qt::WA_DeleteOnClose); //消息对话框 //错误对话框 QMessageBox::critical(this,"critical","错误"); //信息对话框 QMessageBox::information(this,"info","信息"); //问题对话框 最后一个参数是关联回车键的选项 if(QMessageBox::question(this,"question","提问",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(); //文件对话框 //文件对话框 参数1 父亲 参数2 标题 参数3 默认打开路径 参数4 过滤文件格式 QString str = QFileDialog::getOpenFileName(this,"打开文件","C:\Users\Strive Sun\Desktop","(*.txt)"); qDebug()<<str; //字体对话框 bool flag; QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36)); qDebug()<<"字号"<<font.family().toUtf8().data()<<"字号: "<<font.pointSize()<<"是否加粗:"<<font.bold()<<"是否倾斜:"<<font.italic();