模态对话框
即为弹出对话框之后,原来的对话框将不能选中。connect(p1,&QAction::triggered,
[=](){
QDialog dlg;
dlg.exec();
qDebug() << "1111"
;});
效果如下图所示:
非模态对话框即为弹出对话框之后,原来的对话框还可以选中。
效果如下图所示:
注意在非模态对话框中要将QDialog dlg;放到头文件中,否则会产生阻塞。关于***的对话框
即为告诉用户一些信息的对话框。QAction *p3 = menu->addAction("关于对话框");
connect(p3,&QAction::triggered,
[=]()
{
QMessageBox::about(this,"about","关于QT");
});
}
效果如下图所示:
问题对话框
即问用户是确认或者是取消的对话框。 QAction *p4 = menu->addAction("问题对话框");
connect(p4,&QAction::triggered,
[=]()
{
int ret = QMessageBox::question(this,"question","Are you ok?");
switch (ret) {
case QMessageBox::Yes:
qDebug() << "i am ok";
break;
case QMessageBox::No:
qDebug() << "i am bad";
break;
default:
break;
}
});
效果如下图所示:
这里可以修改上面的按钮Yes、No。可以修改为Ok,Cancel,这个是可以按照帮助文档,自己进行设定的。文件对话框
即为选中就实现打开文件列表的功能。 QAction *p5 = menu->addAction("文件对话框");
connect(p5,&QAction::triggered,
[=]()
{
QString path = QFileDialog::getOpenFileName(
this,
"open",
"../",
"souce(*.cpp *.h);;Text(*.txt);;all(*.*)"
);
qDebug()<