对话框
//点击新建弹出一个对话框
connect(ui->actionnew, &QAction::triggered, [=](){
//对话框
//模态和非模态
//模态就是对话框出现的时候不可以对其他窗口进行操作,会进行阻塞
// QDialog dlg(this);
// dlg.resize(100,75);
// dlg.exec();
// qDebug() << "模态对话框弹出" << endl;
//非模态对话框
QDialog *dlg2 = new QDialog(this);
//出现的问题,产生的对话框没有及时的释放掉
//解决
dlg2->setAttribute(Qt::WA_DeleteOnClose);
dlg2->show();
});
标准对话框
Qt内部内置了一系列的对话框
QColorDialog: 选择颜色
QFileDialog: 选择文件
QFontDialog: 选择字体
QInputDialog: 允许输入一个值, 并进行返回
QMessageBox: 模拟对话框, 用于显示信息
QPageSetupDialog: 打印机相关的选项
QPrintDialog: 打印机配置
QPrintPreviewDialog: 打印浏览
QProgressDialog: 显示操作过程
- QMessageBox对话框
有四种, critical, information, question, warning
//点击新建弹出一个对话框
connect(ui->actionnew, &QAction::triggered, [=](){
//对话框
//模态和非模态
//模态就是不可以对其他窗口进行操作,会进行阻塞
// QDialog dlg(this);
// dlg.resize(100,75);
// dlg.exec();
// qDebug() << "模态对话框弹出" << endl;
//非模态对话框
// QDialog *dlg2 = new QDialog(this);
// //出现的问题,产生的对话框没有及时的释放掉
// //解决
// dlg2->setAttribute(Qt::WA_DeleteOnClose);
// dlg2->show();
//消息对话框
//错误对话框, 参数:父类,对话框头部,对话框信息
//QMessageBox::critical(this, "critical", "错误");
//信息对话框
//QMessageBox::information(this, "information", "信息");
//提问对话框,多出来的参数信息:出现的按钮,默认使用的按钮(关联回车), 返回值:用户选择信息
if(QMessageBox::Save == QMessageBox::question(this, "quesation", "提问", (QMessageBox::Save|QMessageBox::Cancel), QMessageBox::Cancel))
{
qDebug() << "信息已经保存"<<endl;
}else
{
qDebug() << "信息取消保存"<<endl;
}
QMessageBox::warning(this, "warning", "错误");
- 其他对话框
//颜色对话框
// QColor color = QColorDialog::getColor(QColor(255, 0, 0));
// qDebug() << "r = " <<color.red()<< "g = "<<color.green()<<"b = "<<color.blue()<<endl;
//文件对话框
//qDebug() << QFileDialog::getOpenFileName(this, "打开文件", "/home/jiao", "(*.c)") << endl;
bool flag;
//参数: ,字体的类型,字体的大小
QFont font= QFontDialog::getFont(&flag, QFont("", 24));
qDebug() << "字体" << font.family() << "字号:" <<font.pointSize() <<"是否加粗:" <<font.bold() << "是否倾斜: " << font.italic();