百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Qt 获取选择的文件夹和文件路径

haoteby 2025-01-10 13:46 11 浏览

Qt 获取选择的文件夹和文件路径

获取文件夹路径

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 
 8     if (srcDirPath.isEmpty())
 9     {
10         return;
11     }
12     else
13     {
14         qDebug() << "srcDirPath=" << srcDirPath;
15         srcDirPath += "/";
16     }
17 }

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

【领QT开发教程学习资料,点击下方链接免费领取↓↓,先码住不迷路~】

点击→领取「链接」

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

获取文件路径使用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     }
12 }

另外的方法:

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  
 8     //查看路径中后缀为.cfg格式的文件
 9     QStringList filters;
10     filters<<QString("*.cfg");
11     dir.setFilter(QDir::Files | QDir::NoSymLinks); //设置类型过滤器,只为文件格式
12     dir.setNameFilters(filters);  //设置文件名称过滤器,只为filters格式
13  
14     //统计cfg格式的文件个数
15     int dir_count = dir.count();
16     if(dir_count <= 0)
17         return;
18  
19 //  //测试
20 //  //文件路径及名称
21 //  QFile outFile( "filename.txt");
22 //  //看能否打开
23 //  if(!outFile.open(QIODevice::WriteOnly | QIODevice::Append))  
24 //      return ;  
25 //  QTextStream ts(&outFile);
26  
27     //存储文件名称
28     QStringList string_list;
29     for(int i=0; i<dir_count; i++)
30     {
31         QString file_name = dir[i];  //文件名称
32         //ts<<file_name<<"\r\n"<<"\r\n";
33         string_list.append(file_name);
34     }
35  
36 }

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

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

相关推荐

能跑源码,还提供数据集:这里有一个入门企业级验证码识别项目

机器之心专栏作者:kerlomz网上关于验证码识别的开源项目众多,但大多是学术型文章或者仅仅是一个测试demo,那么企业级的验证码识别究竟是怎样的呢?1.前言网上关于验证么识别的开源项目众多,但大...

kdj源码_kdj源码公式描述

N:=9;M1:=3;M2:=3;...

QT实现抖动文字和滚动文字,附源码

前言不知道大家有没有发现今天的文章有什么不一样,哈哈,我自己胡拼乱凑弄了一个logo,好不好看就先不说了,最起码萌萌哒...当然这不是今天的重点,在做logo的时候,我原本想让文字动起来的,奈何技术有...

我试图通过这篇文章告诉你,这行源码有多牛逼。

你好呀,我是歪歪。这次给你盘一个特别有意思的源码,正如我标题说的那样:看懂这行源码之后,我不禁鼓起掌来,直呼祖师爷牛逼。...

想了解Python源代码加密吗?现总结如下5大加密混淆手段!

我们在进行...

Android系统基础(03) Android系统源码下载

常规官方网站说明:Android源码官方网站为(google你懂的):https://source.android.com官网参考链接,对应的tag(tag是一种标签,我们可以根据tag来判断下载的...

真香,Python爬取B站弹幕原来如此简单,源码已附在文末

B站的弹幕区一直是人才圣地。今天我就用python来手把手教大家爬取B站排行榜热门视频,Python爬取视频也可以如此简单。...

最详细的 maven 教程,可以收藏_maven步骤

链接|cnblogs.com/hzg110/p/6936101.html正文目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下。...

Python黑科技-VIP视频破解源码分享

《利用Python制作自己的VIP视频解析软件》想看的电视剧更新了还要充VIP?喜欢的电影你是VIP还得付费?学了Python哪要这些花里胡哨的,打开我自己的VIP付费视频解析软件,想怎么看就怎么看!...

抖音无水印解析网站源码_抖音无水印解析平台

链接:https://share.weiyun.com/59Ah44S密码:hv4dm7上传到主机解压不用安装,直接打开域名就可以了原文地址:https://www.xigsc.com/post/...

「电脑知识」USBOS 3.0 v2022.1.24 超级PE启动维护工具标准增强版

前几天一直在发PE类工具就是为了制作U盘PE启动重装系统教程的,今天小编继续分享有一篇关于pe的之前小编发布过一款微PE工具箱,今天发布另外一个无任何流氓行为功能超级强大虽然体积大了一点,但是这个...

模版网站建设制作的八步流程_模板的网站

  模版网站比较简单,一般我们按照如下流程就可以制作出来。  一、网站定位:  在建站之前,一定要了解你要建的网站是什么。你必须考虑你网站的标题(关键词)、网站描述以及你想要建立的网站。  二、选择域...

求职季必备,这几个免费的个人简历模板网站,你可千万不要错过!

晃晃悠悠又到了春招的季节,相信一定有很多小伙伴趁着这个金三银四求职季,四处投递简历。这时候一个亮眼优秀的简历,可以很好的祝你吸引HR的注意。今天就把我珍藏很久的5个免费简历模板网站分享给大家,简历模板...

简约时尚作品博客商店网站HTML5模板源码

Meduza是简约时尚和现代的博客HTML模板,带商店电商元素的博客页面。考虑所有的作品集网站需求页可以设计一个旅游网站。原生响应设计HTML5和CSS3(台式机、平板电脑、手机…)简单,干净的和专业...

13 款免费样机网站合集,UI设计、产品设计、VI设计全都有!

俗话说得好,人靠衣装,在作完设计后不少设计师都会为自己的作品套一个「样机」好让设计看过去更加高端大气上档次!今天,我就总结了无论是UI设计、包装设计、服装设计、品牌设计、logo设计,都能用到...