开发工具与关键技术: QT
作者:何文涛
撰写时间:2020-5-15
以下是代码部分:
-
MainWindow::MainWindow(QWidget *parent)
-
QMainWindow(parent)
{ QMenuBar *mBar = menuBar();
setMenuBar(mBar);
QMenu *menu = mBar->addMenu(“对话框”);
QAction *p1 = menu->addAction(“模态对话框”);
connect(p1,&QAction::triggered,
={
QDialog dlg;
dlg.exec();
qDebug() << “77777”;});
QAction *p2 = menu->addAction(“非模态对话框”);
connect(p2,&QAction::triggered,
={
//dlg.exec();
//qDebug() << “88888”;
QDialog *p = new QDialog;
p->setAttribute(Qt::WA_DeleteOnClose);
p->show();
});
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?”,
QMessageBox::Ok |
QMessageBox::Cancel);
switch (ret)
{
case QMessageBox::Ok:
qDebug() << “i am ok”;
break;
case QMessageBox::Cancel:
qDebug() << “i am bad”;
break;
default:
break;
}});
QAction p5 = menu->addAction(“文件对话框”);
connect(p5, &QAction::triggered,
=
{
QString path = QFileDialog::getOpenFileName(
this,
“open”,
“…/”,
"souce(.cpp .h);;Text(.txt);;all(.)");
qDebug() << path;
});}
- 模态对话框:在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送
- 非模态对话框:在程序运行的过程中,若出现了非模态对话框,主窗口还可以发送消息
- 关于对话框:调用QT自带函数,是一个关于QT的描述
- 问题对话框:弹出选项,提供选择按钮
- 文件对话框:打开文件