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/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM