【QFileDialog接口大全】 Qt5 QString类使用示例

简介: 【QFileDialog接口大全】 Qt5 QString类使用示例


QFileDialog提供了一个对话框,允许用户选择文件或目录.

  • 获取文件
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QUrl getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
QList<QUrl> getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QUrl getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter= QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes= QStringList())

使用示例

    QString ccfile = QFileDialog::getOpenFileName(this,"选择要播放的文件","/mp4/",/**初始目录**/"视频文件 (*.flv *.rmvb *.avi *.MP4 *.mp4); 所有文件 (*.*);; ");
    if (!ccfile.isEmpty())
    {
        /**在linux系统中不需要做目录的替换**/
            ccfile.replace("/","\\");
    }
  • 获取目录
QString getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)
QUrl getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())

使用示例

    QString ccdir = QFileDialog::getExistingDirectory(this,tr("选择图片目录"),"*",QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
 
    if (!ccdir.isEmpty())
    {
        /**在linux系统中不需要做目录的替换**/
        ccdir.replace("/","\\");
 
        QDir dir(ccdir);
        //设置文件过滤器
        dir.setFilter(QDir::Files);//除了文件,其他的过滤掉
 
        QStringList nameFilters;  //设置文件过滤格式
        nameFilters << "*.png" << "*.jpg" << "*.jpeg"<<"*.bmp";
        dir.setNameFilters(nameFilters);
 
        QFileInfoList list = dir.entryInfoList();//获取文件信息列表
        std::cout << "     Bytes Filename" << std::endl;
        for (int i = 0; i < list.size(); ++i)
        {
        QFileInfo fileInfo = list.at(i);
        qDebug() << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10).arg(fileInfo.fileName()))<<endl;
        }
    }
 


目录
相关文章
|
3月前
Qt类结构分析
Qt类结构分析
63 3
|
2月前
|
设计模式 前端开发 安全
Qt注册类对象单例与单类型区别
在进行开发时,应当根据具体的应用场景和需求来选择使用单例模式或是单类型。如果是全局服务或状态管理,可能需要单例模式;如果是为了使QML环境下的不同组件能够访问到同一个后端服务对象,则可能需要使用单类型。
36 2
|
3月前
|
编解码 开发框架
【Qt 学习笔记】Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍
【Qt 学习笔记】Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍
253 3
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
256 3
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
90 2
|
3月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明
396 2
|
3月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Dial的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Dial的使用及说明
154 2
|
3月前
|
数据可视化
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明
364 2
|
3月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Spin Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Spin Box的使用及说明
247 0
|
3月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明
431 0