目录
一、项目介绍
- 一、项目介绍
- 二、项目基本配置
- 三、UI界面设置
- 四、主程序实现
- 4.1 widget.h头文件
- 4.2 widget.cpp源文件
- 五、效果演示
本文介绍利用QDir删除选定文件目录下的所有空文件夹。
二、项目基本配置新建一个Qt案例,项目名称为“DelTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。
三、UI界面设置UI界面如下:
头文件中只需声明按钮点击槽函数:
private slots:
void on_pbn_del_clicked();
4.2 widget.cpp源文件
定义函数checkFileOrDirExist检查目录是否存在:
bool checkFileOrDirExist(const QString qstrFileDirOrPath)
{
bool bRet = false;
QFileInfo objFileInfo(qstrFileDirOrPath);
if(objFileInfo.isFile())
{
bRet = objFileInfo.exists();
}
else if(objFileInfo.isDir())
{
bRet = objFileInfo.exists();
}
else
{
bRet = false;
}
return bRet;
}
定义clearEmptyFolder用于删除空的文件夹,返回的类型为bool类型若为true则表示删除成功,若为false则表示删除失败:
/**************************************************
* 功能:删除空的文件夹
* 输入参数:
* qstrDirPath:文件夹路径
* 返回值:
* bool:true -- 删除成功,false -- 删除失败
* **************************************************/
bool clearEmptyFolder(const QString& qstrDirPath)
{
bool bRet = true;
do
{
if(!checkFileOrDirExist(qstrDirPath))
{
bRet = true;
break;
}
QDir qdrPath(qstrDirPath);
qdrPath.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden); //设置过滤器
QFileInfoList lstFileInfo = qdrPath.entryInfoList(); //获取所有文件信息
foreach(QFileInfo objFileInfo, lstFileInfo)
{
if(objFileInfo.isDir())
{
QString qstrSubFilePath = objFileInfo.absoluteFilePath();
clearEmptyFolder(qstrSubFilePath);
QDir qdrSubPath(qstrSubFilePath);
qdrSubPath.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden);
QFileInfoList qlstFileInfo = qdrSubPath.entryInfoList();
if(qlstFileInfo.count()
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?