Qt5教程: (8) 标准对话框和文件对话框

1. about对话框

包含头文件

#include <QMessageBox>

添加菜单项

QAction *p3 = pDialog->addAction("关于");

创建about对话框

connect(p3, &QAction::triggered,
            [=]()
            {
                QMessageBox::about(this, "关于", "关于Qt");
            }
            );

运行后点击菜单栏下的"关于", 弹出"关于"对话框:

2. question对话框

添加菜单项

QAction *p4 = pDialog->addAction("选项");

创建about对话框

connect(p4, &QAction::triggered,
            [=]()
            {
                QMessageBox::question(this, "选择", "Are you ok?");
            }
            );

运行后点击菜单栏下的"选项", 弹出"选择"对话框:

通过返回值触发相应动作

connect(p4, &QAction::triggered,
            [=]()
            {
                int ret = QMessageBox::question(this, "选择", "Are you ok?",
                                                QMessageBox::Yes | QMessageBox::No);
                switch (ret)
                {
                case QMessageBox::Yes:
                    qDebug() << "I am ok.";
                    break;
                case QMessageBox::No:
                    qDebug() << "Not so good.";
                    break;
                default:
                    break;
                }
            }
            );

点击按钮输出对应log:

3. 文件对话框

包含头文件

#include <QFileDialog>

添加菜单项

QAction *p5 = pDialog->addAction("文件对话框");

创建文件对话框

connect(p5, &QAction::triggered,
            [=]()
            {
                QString path = QFileDialog::getOpenFileName(
                            this,
                            "open",  // 对话框标题
                            "../"  //路径
                            );
                qDebug() << path;
            }
            );

运行后点击菜单栏下的"文件对话框, 会跳出"open"界面:

任意选择一个文件打开, 会输出文件路径:

添加文件类型选项

QFileDialog::getOpenFileName添加文件类型参数:

QString path = QFileDialog::getOpenFileName(
                            this,
                            "open",  // 对话框标题
                            "../",  //路径
                            "source(*.cpp *.h);;Text(*.txt);;all(*.*)"
                            );

之后运行, 就可以选择要打开的类型了:


此文原创禁止转载,转载文章请联系博主并注明来源和出处,谢谢!
作者: Raina_RLN https://www.cnblogs.com/raina/

posted @ 2019-08-08 17:42  Raina_R  阅读(1223)  评论(0编辑  收藏  举报