获取文件夹路径
  1. static QString getExistingDirectory(QWidget *parent = Q_NULLPTR,
  2. const QString &caption = QString(),
  3. const QString &dir = QString(),
  4. Options options = ShowDirsOnly);
  5. 参数1:父窗口
  6. 参数2:弹出界面的菜单栏文字
  7. 参数3:打开的初始目录 比如“/”表示根目录

使用方法

  1. void Widget::on_openSrcDirPushButton_clicked()
  2. {
  3. //文件夹路径
  4. srcDirPath = QFileDialog::getExistingDirectory(
  5. this, "choose src Directory",
  6. "/");
  7. if (srcDirPath.isEmpty())
  8. {
  9. return;
  10. }
  11. else
  12. {
  13. qDebug() << "srcDirPath=" << srcDirPath;
  14. srcDirPath += "/";
  15. }
  16. }

注意:

qDebug() << "srcDirPath=" << srcDirPath;输入我们打开目录的路径,比如:/mnt/hgfs,这时候如果我们要读取这个目录下的文件,此时路径应为这里写代码片/mnt/hgfs/然后加上文件名才是文件的全路径。不过或许大家用不到srcDirPath += “/”;`这一句。

获取文件路径(选择文件):

获取文件路径使用getOpenFileName即可。使用方法和getExistingDirectory类似。

  1. static QString getOpenFileName(QWidget *parent = Q_NULLPTR,
  2. const QString &caption = QString(),
  3. const QString &dir = QString(),
  4. const QString &filter = QString(),
  5. QString *selectedFilter = Q_NULLPTR,
  6. Options options = Options());
  7. 参数1:父窗口
  8. 参数2:弹出界面的菜单栏文字
  9. 参数3:打开的初始目录 比如“/”表示根目录
  10. 参数4:设置打开的文件类型
  11. 参数5:看代码。。。

使用方法:

  1. void Widget::slotBtnClick()
  2. {
  3. QString s = QFileDialog::getOpenFileName(
  4. this, "选择要播放的文件",
  5. "/",
  6. "视频文件 (*.flv *.rmvb *.avi *.mp4);; 所有文件 (*.*);; ");
  7. qDebug() << "path=" << s;
  8. if (!s.isEmpty())
  9. {
  10. }
  11. }

另外的方法:

  1. QString file_full, file_name, file_path;  
  2. QFileInfo fi;  
  3.   
  4. file_full = QFileDialog::getOpenFileName(this);  
  5.   
  6. fi = QFileInfo(file_full);  
  7. file_name = fi.fileName();  
  8. file_path = fi.absolutePath();
  1. void monizhuzhan::filenameInDir()
  2. {
  3. //判断路径是否存在
  4. QDir dir(path);
  5. if(!dir.exists())
  6. return;
  7. //查看路径中后缀为.cfg格式的文件
  8. QStringList filters;
  9. filters<<QString("*.cfg");
  10. dir.setFilter(QDir::Files | QDir::NoSymLinks); //设置类型过滤器,只为文件格式
  11. dir.setNameFilters(filters); //设置文件名称过滤器,只为filters格式
  12. //统计cfg格式的文件个数
  13. int dir_count = dir.count();
  14. if(dir_count <= 0)
  15. return;
  16. // //测试
  17. // //文件路径及名称
  18. // QFile outFile( "filename.txt");
  19. // //看能否打开
  20. // if(!outFile.open(QIODevice::WriteOnly | QIODevice::Append))
  21. // return ;
  22. // QTextStream ts(&outFile);
  23. //存储文件名称
  24. QStringList string_list;
  25. for(int i=0; i<dir_count; i++)
  26. {
  27. QString file_name = dir[i]; //文件名称
  28. //ts<<file_name<<"\r\n"<<"\r\n";
  29. string_list.append(file_name);
  30. }
  31. }

其中注释部分可实现将文件名称存入到txt中。

总体思路:得到路径--去除路径下的无效文件--统计个数--获取文件名称

【更多参考】

Qt获取选择的文件夹和文件路径的更多相关文章

  1. 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件

    [源码下载] 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件 作者:webabcd 介绍背水一战 Windows 10 之 ...

  2. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  3. android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位

    android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位   public class FileSizeUtil { public static final int SIZETYPE_B ...

  4. FileSizeUtil【获取文件夹或文件的大小】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 获取文件夹或者文件的大小,可以指定单位,也可以自动计算合适的单位值. 效果图 代码分析 常用的方法: getFolderOrFile ...

  5. php获取指定文件夹中文件名称

    /** * php获取指定文件夹中文件名称 * @author jackie <2018.10.10> */ public static function getFileName($fil ...

  6. IO流-获取指定目录下文件夹和文件对象【File类】

    一.运用File类实现获取指定目录下文件夹和文件对象 1.File类 2.方法: 获取文件绝对路径 :getAbsolutePath 案例: import java.io.File; /** * 获取 ...

  7. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  8. Python选择指定文件夹的文件然后复制出其中几个文件到新的文件夹

    """ 要求: 1.读取cdm文件的所有子文件夹,然后每个文件夹里面是抽出一个一个mp3后缀的文件. 遍历所有的子文件,然后将这些mp3文件,保存到一个新的文件夹.文件夹 ...

  9. C#操作文件夹及文件的方法的使用

    本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...

  10. VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示

    Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E&qu ...

随机推荐

  1. 国内的pip源

    国内的pip源,如下: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simpl ...

  2. TX2-入门坑点-Ubuntu16.04任务栏消失

    问题:安装cuda过程中出现任务栏消失,快捷键失效的现象. 解决方法:重装桌面无法解决,使用cssm无法解决,最后删除home目录下的 .cache文件夹重启后解决

  3. c 语言 随机数选取6个数 一定范围内

    种子来源 定时器/****************** 自动筛选种子 dat 目标种子 ************/ #define max 7 //随机生成最大的数为7 #define min 1 / ...

  4. SqlHelper2

    public abstract class DBHelper { public static string connectionString = @"DATA SOURCE=.\sqldat ...

  5. 苏宁基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用

    https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 20 ...

  6. css3之动画属性transform、transition、animation

    工作当中,会遇到很多有趣的小动画,使用css3代替js会节省工作量,css3一些属性浏览器会出现不兼容,加浏览器的内核前缀 -moz-. -webkit-. -o- 1.transform rotat ...

  7. Java之事务的基本应用

    基本介绍 事务是数据一致性最基本的保证,也就是说一个事务中的操作要么都成功,要么都失败,不允许部分成功.我们常说的事务就是jdbc事务,当然Java中还有其他事务,并且在使用jdbc事务有很多注意点, ...

  8. Redis入门到高可用(十七)—— 持久化开发运维常见问题

    1.fork操作 2.子进程开销和优化 3.AOF阻塞

  9. javaweb(4)之Listener&Filter

    监听器 (Listener) 介绍 监听器用于监听 web 应用中某些对象.信息的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当范围对象的状态发生变化的时候,服务器自动调用监听器 ...

  10. Cocos Creator Slider(进度条)的三种实现

    实现原理: 方法一:动态计算,slider上增加背景图,根据滑动的进度动态计算背景图的大小:方法二:slider+progress,根据slider滑动的进度,动态改变progress的显示进度:方法 ...