QT的TreeWidget遍历文件夹并且显示(递归实现)
实现的思路,首先需要一个父节点,当做初始节点进行传入,然后需要需要2个for循环,一个循环用来遍历文件夹里所有文件,一个用来遍历所有文件夹,通过递归,在进行遍历文件夹。
直接上代码
void EP_WorkListWgt::SetData(QTreeWidgetItem *rootItem,QString i_path)
{QDir dir(i_path); QDir dir_file(i_path); dir_file.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); dir_file.setSorting(QDir::Size | QDir::Reversed);QFileInfoList list_file = dir_file.entryInfoList(QDir::Files);for (int i = 0; i < list_file.size(); ++i) //这个用来循环文件夹里文件{QFileInfo fileInfo = list_file.at(i); QStringList FileList;char unit = 'B'; //进行字节转换qint64 size = fileInfo.size();if (size > 1024){size /= 1024;unit = 'K';if (size > 1024){size /= 1024;unit = 'M';if (size > 1024){size /= 1024;unit = 'G';}}}QString sSize = QString::number(size)+unit;FileList << QString(fileInfo.fileName()) << QString(sSize) << QString(fileInfo.suffix()+" File") << QString(fileInfo.created().toString("yyyy-MM-dd hh:mm:ss"));QTreeWidgetItem *childItem = new QTreeWidgetItem(FileList);childItem->setIcon(0,QIcon(":/Image/file.png"));rootItem->addChild(childItem);}QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);for (int i = 0; i != folder_list.size(); i++) //这个用来寻找文件夹{QString namePath = folder_list.at(i).absoluteFilePath();QFileInfo folderInfo = folder_list.at(i);QStringList FolderList;FolderList << QString(folderInfo.fileName()) << QString("") << QString("File Folder") << QString(folderInfo.created().toString());QTreeWidgetItem *childRoot = new QTreeWidgetItem(FolderList);childRoot->setIcon(0,QIcon(":/Image/folder.png"));rootItem->addChild(childRoot);SetData(childRoot, namePath); //找到文件夹进行递归}
}
QT的TreeWidget遍历文件夹并且显示(递归实现)相关推荐
- Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示
首先是文件夹,如下图: 话不多说,运行动态图如下: 在此不做多余解释,代码很简单 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWid ...
- 【QT】遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名
[QT]遍历文件夹和文件目录,并过滤和获取文件信息.后缀名.前缀名 前言: 需要在特定目录或磁盘下查找特定文件 一.筛选目录 (一)单一目录下遍历,筛选特定文件 QDir dir("./Sa ...
- linux 循环显示所有的sh.*文件.,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法...
环境: Ubuntu下采用shell脚本实现 案例简述:文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名.通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为 ...
- 【python拼图】遍历文件夹后,自动拼接图像成正方形图,或者指定行数显示
功能说明 def image_combines(img_dir,fw=1,fh=1,cols=1,flag_sort=True,IMAGES_FORMAT = ['.jpg', '.JPG', 'PN ...
- VBA遍历文件夹下文件文件实用源码
'批量遍历文件夹下某类文件,并统计编号 Sub OpenAndClose()Dim MyFile As StringDim s As StringDim count As IntegerMyFile ...
- 服务器遍历文件夹不按顺序,绕过遍历检查 (Windows 10) - Windows security | Microsoft Docs...
跳过遍历检查 04/19/2017 本文内容 适用范围 Windows 10 在比较 Windows 10 版本中了解有关每个 Windows 版本支持哪些特性和功能的详细信息. 介绍"绕过 ...
- Python工作笔记-使用Py遍历文件夹及其子文件夹内容
程序运行截图如下: 源码如下: import osdef Traverse(dir):list=[]for dirpath,dirnamesList,filenamesList in os.walk( ...
- 用treeview遍历文件夹(vb)
strpath为一文件夹路径,flag初始付值为false,如把C:\下的所有文件夹和文件显示在treeview中,可调用call fileconnection("c:\",fal ...
- 遍历文件夹(含子文件夹)方法
做法基本上有2大类: ① 经典Dir ② FSO 即 Scripting. File System Object 的[文件系统对象]脚本方法. 一开始可能Dir方法较为普遍,但随着水平的提高,应用FS ...
- 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息...
在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...
最新文章
- 计算机英语unit,计算机专业英语Unit 7
- 一招一式攻克linux(四)
- 软件工程-第一次作业
- 我看过且非常喜欢的《电影》和书
- MFC中Windows窗口消息循环及多线程之间关系
- SlidingMenu的使用,结合Fragment(eclipse环境)
- ASP.NET AJAX(服务器回调)
- 纪念BLives 1.0版本发布
- 第4.17章读书笔记
- git 入门操作指令
- socket、listen 等函数的打电话隐喻
- 标准模板库中的优先队列(priority_queue)
- PCB原理图导入的2种方法,小白也能看懂!
- 令人敬畏的泰格伍兹 万维钢_令人敬畏的桌面壁纸:Windows 7版
- 双开乃至多开电脑微信的简单方法
- 如何搭建储能监控云平台?
- 剑灵南天国服务器位置,剑灵南天国实验室商城说明及FAQ
- java race condition_Java中的Race condition和Critical section(译)
- 商务搜索引擎_外贸研修 | 世界各国常用搜索引擎,开发客户必备!
- 美团二面:让你怀疑人生的数据结构算法夺命连环17问~
热门文章
- Luogu2627 修剪草坪
- 前端性能优化(慕课网笔记)-4-资源的优化
- MySQL8.0.22解压安装教程
- windows下调整linux分区大小,如何在Windows 10/8/7中调整分区大小
- 送起来oracle,十一,送你 51 个 Oracle 常用语句~
- 流程生产订单和离散生产订单的区别_离散式生产和流程式生产的区别
- excel打开2个独立窗口_喜欢用华为手机拍照,记得打开这2个开关,能让照片更加清晰...
- python控制键盘游戏内无效_关于python的游戏《兔子和獾》代码写到用键盘输入WASD控制兔子移动时,兔子移动不了。但是。。。...
- mysql事件查看器_MYSQL事件查看器使用介绍 | 学步园
- a href 与mysql_详解A标签中href=的几种用法