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

使用方法

void Widget::on_openSrcDirPushButton_clicked()
{
//文件夹路径
srcDirPath = QFileDialog::getExistingDirectory(
this, "choose src Directory",
"/"); if (srcDirPath.isEmpty())
{
return;
}
else
{
qDebug() << "srcDirPath=" << srcDirPath;
srcDirPath += "/";
}
}

注意:

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

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

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

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

使用方法:

void Widget::slotBtnClick()
{
QString s = QFileDialog::getOpenFileName(
this, "选择要播放的文件",
"/",
"视频文件 (*.flv *.rmvb *.avi *.mp4);; 所有文件 (*.*);; ");
qDebug() << "path=" << s;
if (!s.isEmpty())
{ }
}

另外的方法:

QString file_full, file_name, file_path;  
QFileInfo fi;  
  
file_full = QFileDialog::getOpenFileName(this);  
  
fi = QFileInfo(file_full);  
file_name = fi.fileName();  
file_path = fi.absolutePath();
void monizhuzhan::filenameInDir()
{
//判断路径是否存在
QDir dir(path);
if(!dir.exists())
return; //查看路径中后缀为.cfg格式的文件
QStringList filters;
filters<<QString("*.cfg");
dir.setFilter(QDir::Files | QDir::NoSymLinks); //设置类型过滤器,只为文件格式
dir.setNameFilters(filters); //设置文件名称过滤器,只为filters格式 //统计cfg格式的文件个数
int dir_count = dir.count();
if(dir_count <= 0)
return; // //测试
// //文件路径及名称
// QFile outFile( "filename.txt");
// //看能否打开
// if(!outFile.open(QIODevice::WriteOnly | QIODevice::Append))
// return ;
// QTextStream ts(&outFile); //存储文件名称
QStringList string_list;
for(int i=0; i<dir_count; i++)
{
QString file_name = dir[i]; //文件名称
//ts<<file_name<<"\r\n"<<"\r\n";
string_list.append(file_name);
} }

其中注释部分可实现将文件名称存入到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. 三、CSS语言

    CSS语言 1.概述:CSS (Cascading Style Sheets)是层叠样式表用来定义网页的显示效果.可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示 ...

  2. Java Filter(拦截器)

    多个Filter按照在配置文件中配置的filter顺序执行. 在web.xml文件中配置该Filter,使用init-param元素为该Filter配置参数,init-param可接受如下两个子元素: ...

  3. HTML基础之HTML标签-html header(meta,title) html body(p,br,h,form,div,span,input,lable)

    摘自:http://www.imdsx.cn/index.php/2017/07/27/html0/ 一.HTML标签 <!DOCTYPE html> <!--标准的html规则,类 ...

  4. EXT的bug 布局border 和 grid的cellediting

    首先 我要的布局是上下两块,并且高度和按自己的喜欢可调节,所以我采用的是border的布局, 上下两块,都放grid列表,上面一块不可编辑,下面这块可编辑,如图 在编辑第二块的时候会出现这个现象 图一 ...

  5. selenium操作浏览器

    import org.openqa.selenium.WebDriver; import common.StartFireFox; public class TestBrowser { public ...

  6. java框架之SpringBoot(14)-任务

    使用 maven 创建 SpringBoot 项目,引入 Web 场景启动器. 异步任务 1.编写异步服务类,注册到 IoC 容器: package zze.springboot.task.servi ...

  7. 9个用来爬取网络站点的 Python 库

    上期入口:10个不到500行代码的超牛Python练手项目 1️⃣Scrapy 一个开源和协作框架,用于从网站中提取所需的数据. 以快速,简单,可扩展的方式. 官网:https://scrapy.or ...

  8. python 中为什么不需要重载 参数*arg和**args

    函数重载主要是为了解决两个问题. (1)可变参数类型. (2) 可变参数个数. 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两 ...

  9. rosetta geometric constraint file(用于match和design)

    cst(constraint file)文件示例: CST::BEGIN TEMPLATE:: ATOM_MAP: atom_name: C6 O4 O2 TEMPLATE:: ATOM_MAP: r ...

  10. CDN和智能DNS原理和应用 (原)

    CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络. CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调 ...