QPushButton *button =new QPushButton("click me",this);
connect(button, SIGNAL(clicked()),this,SLOT(clickButtonSlot()));
void Dialog::clickButtonSlot()
{
QDialog *dlg=new QDialog;
QPushButton *button=new QPushButton(dlg);
connect(button,SIGNAL(clicked()),dlg,SLOT(accept()));
//模态前面阻止后面的 exec中有自己的消息循环 变更且把app的循环接管了
if(dlg->exec()==QDialog::Accepted){
qDebug()<<"accept";
}else{
qDebug()<<"rejct";
}
保存路径
QString strPath= QFileDialog::getSaveFileName(nullptr,"Slect file for save",strDir,"png file(*.png *.jpg)");
QString strPath= QFileDialog::getExistingDirectory(); 选择路径
QString strPath= QFileDialog::getOpenFileName(nullptr,"Slect file for save",strDir,"png file(*.png *.jpg)"); //打开路径
qDebug()<<strPath;
if(strPath.isEmpty()){
qDebug()<<"select none";
return;
}
QFileInfo fileinfo(strPath);
strDir=fileinfo.filePath();
QColorDialog color;//颜色选择
color.exec();
color.selectedColor();
QCalendarWidget calendar;//日历
QFontDialog fontDialog;//字体选择
fontDialog.exec();
QFont font= fontDialog.selectedFont();
// QMessageBox::question(this,"error","error",QMessageBox::Yes,QMessageBox::No); //information //critical//warning
//提示框加 按钮 QMessageBox::Yes
//自定义按钮
QMessageBox mess;
QPushButton *button1= (mess.addButton(tr("确定"), QMessageBox::AcceptRole));
QPushButton *button2= (mess.addButton(tr("确定_2"), QMessageBox::YesRole));
QPushButton *buttonCancel = (mess.addButton(tr("取消"), QMessageBox::RejectRole));
mess.exec();
}