在使用电脑的时候,有时候我们需要删除文件和文件夹,手动操作一个一个的删除就比较麻烦,有时候某个特定的文件还删除不了,写一个程序来实现删除功能就方便很多,Qt里就有自带的类可以方便的执行删除功能,下面来看具体的示例:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();protected:bool deleteDir(const QString &path);public slots:void slotDeleteDirAndFile();private:Ui::MainWindow *ui;int m_fileCount;    //统计删除文件的个数
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QFile>
#include <QDir>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(slotDeleteDirAndFile()));
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::slotDeleteDirAndFile()
{QString path = "C:\\Users\\Administrator\\AppData\\Local\\Temp";deleteDir(path);
}bool MainWindow::deleteDir(const QString &path)
{if (path.isEmpty()){return false;}QDir dir(path);if(!dir.exists()){return true;}dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤QFileInfoList fileList = dir.entryInfoList(); // 获取所有的文件信息foreach (QFileInfo file, fileList){ //遍历文件信息if (file.isFile()){ // 是文件,删除bool isDelete = file.dir().remove(file.fileName());if(isDelete) {m_fileCount++;}qDebug() << "isDelete= " << isDelete << " m_fileCount = " << m_fileCount << " filename= " << file.fileName();}else{ // 递归删除deleteDir(file.absoluteFilePath());}}return dir.rmpath(dir.absolutePath()); // 删除文件夹
}

main.cpp文件

#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

Qt删除文件和文件夹相关推荐

  1. Qt删除文件夹时父文件夹一并删除的原因与解决办法

    Qt删除文件夹及子文件夹全部文件时父文件夹一并删除的原因与解决办法 初学Qt文件操作,总会先去查阅各种资料,参考各种代码然后一点点地去调试. 我在编写"删除文件夹及子目录与所有文件" ...

  2. Qt 文件和文件夹操作

    Qt 文件和文件夹操作 复制文件 设置文件的访问权限 删除文件 删除单个文件 批量删除文件 示例 获取文件信息 批量修改文件名 写文本文件 读文本文件 压缩和解压缩文件 解压 压缩 XML 文件读写 ...

  3. java file 操作之创建、删除文件及文件夹

    本文章向大家讲解java文件的基本操作,包括java创建文件和文件夹.java删除文件.java获取指定目录的全部文件.java判断指定路径是否为目录以及java搜索指定目录的全部内容等.请看下面实例 ...

  4. svn 目录结构 trunk java_如何彻底删除SVN中的文件和文件夹(附恢复方法)

    这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的b ...

  5. R语言使用fs包的dir_delete函数删除指定的文件目录(remove the directory)、举一反三、file_delete函数、link_delete函数可以用来删除文件和文件夹

    R语言使用fs包的dir_delete函数删除指定的文件目录(remove the directory).举一反三.file_delete函数.link_delete函数可以用来删除文件和文件夹 目录

  6. C 实现删除非空文件夹

    [cpp] view plaincopy print? /* 文件名:   rd.c ---------------------------------------------------- c中提供 ...

  7. 一个超牛的东东:专门删除牛皮文件和文件夹

    一个超牛的东东:专门删除牛皮文件和文件夹 电脑中有一些不知为何删除不掉的文件和文件夹,无论用什么超级粉碎机都无法清除. 在网上看到的一个方法可以帮忙 注意:使用时请小心, 建立非常简单: 新建文本文档 ...

  8. Linux之不删除指定文件夹,其他都删(文件和文件夹)

    例子1 查看当前文件夹下有哪些文件和子文件夹 我们看到俩个文件夹 和多个文件,我现在的需求是 只保留 public 这个文件夹 其他的文件夹和文件 统统都删除,怎么办呢? 只要一个命令 ls | gr ...

  9. windows自动更新安装后遗留文件或文件夹的删除

    在系统更新后,我的硬盘上留下了几个一串字母的文件夹.一个含有Update的文件夹包含了Update.exe文件.另一个包含了一个叫WCU的文件夹.删除Update时提示"无法删除" ...

最新文章

  1. 普通粒子群算法和优化方法
  2. php人员排班程序,人员排班软件操作步骤
  3. Linux 分割、合并文件
  4. spring beanFactory
  5. 树莓派学习——文件传输
  6. Android Studio设置
  7. 【LeetCode笔记】208. 实现Trie(前缀树)(Java、前缀树)
  8. 某IDC科技风登录页面模板
  9. GIT 之概述与架构
  10. ASP.NET Core 2.1 源码学习之 Options[2]:IOptions 【转】
  11. python执行js脚本安全吗_手把手教你如何使用Python执行js代码
  12. notify和notifyall的区别
  13. 【高数】收敛关系:级数与部分和、级数与数列、数列与子数列、级数与子级数
  14. Autojs4脚本大合集(薅羊毛专业版的脚本)
  15. 实现微信小程序的分享转发功能(可以从分享页返回小程序首页)
  16. 《JS修炼之道》—— 读后总结
  17. FDE之默认密码开机流程
  18. python机器学习思维导图脑图(完整版)
  19. 文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut
  20. 微信如何群发消息?微信群发消息只需要4步!

热门文章

  1. 极路由更新软件源的方法
  2. 【收藏】前端开发必备:前端开发不得不收藏的网站,提高200%开发效率!
  3. 对对碰(网页版单机小游戏)
  4. 攻防世界-re-for-50-plz-50
  5. 简述计算机视觉中的单眼线索,知觉-心理学文章-壹心理
  6. 在a标签中使用javascript
  7. 什么是数字签名?(内含漫画图解)
  8. 无线路由器连接有线路由器实现同网段无线上网---第二种
  9. 【转】密钥管理服务(KMS)
  10. span之间的空隙怎样解决?