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

1. about对话框

包含头文件

#include <QMessageBox>

添加菜单项

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

创建about对话框

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

运行后点击菜单栏下的"关于", 弹出"关于"对话框:
Qt5教程: (8) 标准对话框和文件对话框

2. question对话框

添加菜单项

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

创建about对话框

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

运行后点击菜单栏下的"选项", 弹出"选择"对话框:
Qt5教程: (8) 标准对话框和文件对话框

通过返回值触发相应动作

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:
Qt5教程: (8) 标准对话框和文件对话框

3. 文件对话框

包含头文件

#include <QFileDialog>

添加菜单项

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

创建文件对话框

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

运行后点击菜单栏下的"文件对话框, 会跳出"open"界面:
Qt5教程: (8) 标准对话框和文件对话框
任意选择一个文件打开, 会输出文件路径:
Qt5教程: (8) 标准对话框和文件对话框

添加文件类型选项

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

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

之后运行, 就可以选择要打开的类型了:
Qt5教程: (8) 标准对话框和文件对话框

上一篇:时间触发协议(Time triggered protocol)概述


下一篇:QT制作一个位图画图板程序