Qt获取选择的文件夹和文件路径
获取文件夹路径
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获取选择的文件夹和文件路径的更多相关文章
- 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件
[源码下载] 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件 作者:webabcd 介绍背水一战 Windows 10 之 ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 public class FileSizeUtil { public static final int SIZETYPE_B ...
- FileSizeUtil【获取文件夹或文件的大小】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 获取文件夹或者文件的大小,可以指定单位,也可以自动计算合适的单位值. 效果图 代码分析 常用的方法: getFolderOrFile ...
- php获取指定文件夹中文件名称
/** * php获取指定文件夹中文件名称 * @author jackie <2018.10.10> */ public static function getFileName($fil ...
- IO流-获取指定目录下文件夹和文件对象【File类】
一.运用File类实现获取指定目录下文件夹和文件对象 1.File类 2.方法: 获取文件绝对路径 :getAbsolutePath 案例: import java.io.File; /** * 获取 ...
- python文件夹遍历,文件操作,获取文件修改创建时间
在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...
- Python选择指定文件夹的文件然后复制出其中几个文件到新的文件夹
""" 要求: 1.读取cdm文件的所有子文件夹,然后每个文件夹里面是抽出一个一个mp3后缀的文件. 遍历所有的子文件,然后将这些mp3文件,保存到一个新的文件夹.文件夹 ...
- C#操作文件夹及文件的方法的使用
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...
- VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示
Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E&qu ...
随机推荐
- 三、CSS语言
CSS语言 1.概述:CSS (Cascading Style Sheets)是层叠样式表用来定义网页的显示效果.可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示 ...
- Java Filter(拦截器)
多个Filter按照在配置文件中配置的filter顺序执行. 在web.xml文件中配置该Filter,使用init-param元素为该Filter配置参数,init-param可接受如下两个子元素: ...
- 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规则,类 ...
- EXT的bug 布局border 和 grid的cellediting
首先 我要的布局是上下两块,并且高度和按自己的喜欢可调节,所以我采用的是border的布局, 上下两块,都放grid列表,上面一块不可编辑,下面这块可编辑,如图 在编辑第二块的时候会出现这个现象 图一 ...
- selenium操作浏览器
import org.openqa.selenium.WebDriver; import common.StartFireFox; public class TestBrowser { public ...
- java框架之SpringBoot(14)-任务
使用 maven 创建 SpringBoot 项目,引入 Web 场景启动器. 异步任务 1.编写异步服务类,注册到 IoC 容器: package zze.springboot.task.servi ...
- 9个用来爬取网络站点的 Python 库
上期入口:10个不到500行代码的超牛Python练手项目 1️⃣Scrapy 一个开源和协作框架,用于从网站中提取所需的数据. 以快速,简单,可扩展的方式. 官网:https://scrapy.or ...
- python 中为什么不需要重载 参数*arg和**args
函数重载主要是为了解决两个问题. (1)可变参数类型. (2) 可变参数个数. 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两 ...
- rosetta geometric constraint file(用于match和design)
cst(constraint file)文件示例: CST::BEGIN TEMPLATE:: ATOM_MAP: atom_name: C6 O4 O2 TEMPLATE:: ATOM_MAP: r ...
- CDN和智能DNS原理和应用 (原)
CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络. CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调 ...