QDialog
自定义对话框
//点击新建弹出一个对话框 connect(ui->actionnew_file,&QAction::triggered,[=](){ //对话框分类 //非模态对话框:打开的同时可以对其他窗口进行操作(阻塞其他操作) //模态对话框:不可打开的同时对其他窗口进行操作(不阻塞) //QDialog dlg(this)函数执行完对象声明周期结束 QDialog*dlg=new QDialog(this); //dlg.exec();模态创建 dlg->show(); dlg->setAttribute(Qt::WA_DeleteOnClose);//一旦窗口关闭就释放掉这个对象,防止内存溢出
预定义对话框
标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox)
QMessageBox
connect(ui->pushButton,&QPushButton::clicked,[=](){QMessageBox::critical(this,"错误","错误");});
//connect(ui->pushButton,&QPushButton::clicked,[=](){QMessageBox::critical(this,"错误","错误");}); //信息对话框 //错误对话框 //提问对话框 (父亲,标题,提示内容,案件类型,默认回车关联内容) connect(ui->pushButton,&QPushButton::clicked,[=](){ if(QMessageBox::Save==QMessageBox::question(this,"错误","错误",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Save)){ qDebug()<<"保存"; }else{ qDebug()<<"保存"; } }); //警告对话框
QMessageBox::Save是标准按钮
QColorDialog
//颜色对话框 ui->pushButton_2->resize(200,50); connect(ui->pushButton_2,&QPushButton::clicked,[=](){ QColor color=QColorDialog::getColor(QColor(255,0,0)); });
QFileDialog
ui->pushButton_3->resize(200,50); connect(ui->pushButton_3,&QPushButton::clicked,[=](){ QFileDialog::getOpenFileName(this,"file","","(*.txt)");
QFontDialog
//字体对话框 ui->pushButton_4->resize(200,50); connect(ui->pushButton_4,&QPushButton::clicked,[=](){ bool flag; QFontDialog::getFont(&flag,QFont("",36));