• Qt中文件夹的操作


    Qt中文件夹的操作

    Qt中对于文件夹的操作类主要是QDir类,这个类中提供了文件夹的创建、删除、判断文件夹是否存在、文件夹中的文件数目等功能。

    QDir用于操作路径名、访问有关路径和文件的信息以及操作底层文件系统。Qt中使用“/”作为通用目录分隔符。在QDir中可以使用相对路径或相对路径进行访问文件地址。

    例如:

    QDir("/home/user/Documents") //linux 下的绝对路径
    QDir("C:/Users") //Window 下的绝对路径
    
    • 1
    • 2

    你可以使用 isRelative() 或 isAbsolute() 函数来检查QDir使用的是相对文件路径还是绝对文件路径。调用makeAbsolute()将相对QDir转换为绝对QDir。

    在这个类中可以使用 path() 获取路径,也可以额使用 setPath() 函数设置路径。

    目录可以用 mkdir() 创建,用 rename() 重命名,用 rmdir() 删除。可以使用 exists() 测试具有给定名称的目录的存在,并且可以使用 isReadable()、isAbsolute()、isRelative() 和 isRoot()来测试目录的属性。

    详细参考Qt中的QDir类。

    QDir使用注意的问题:

    1、在使用mkpath()创建和rmpath()删除路径的时候,不能在构造的时候传入路径,传入路径之后将无法删除成功和创建文件夹乱的问题。

    2、在使用mkdir()和remove()删除文件夹的时候需要使用SetPath()函数设置路径,不然会删除其他文件夹。

    3、使用count()函数获取文夹中的条目的时候返回会包括隐藏文件夹(例如:. 和 …)。

    创建文件夹

    //实例 QDir
     QDir *folder = new QDir;
     //判断创建文件夹是否存在
     bool exist = folder->exists(edit->text());
     if(!exist)
     {
     	 //创建文件夹
     	bool ok = folder->mkdir(edit->text());
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    删除文件夹

     //判断创建文件夹是否存在
     bool exist = folder->exists(edit->text());
     if(exist)
     {
     	 //删除文件夹
     	bool ok = folder->remove(edit->text());
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    获取文件中的元素数目

     //判断创建文件夹是否存在
     bool exist = folder->exists(edit->text());
     if(!exist)
     {
     	 //获取文件夹中的元素数目
     	uint count = folder->count();
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    2022-10-30 mysql列存储引擎-自定义函数-return返回select语句结果异常-问题定位
    prometheus学习4Grafana监控mysql&blackbox了解
    ES6中的Promise对象
    vite下,修改node_modules源码后,在浏览器源码中看不到改动的内容
    开源组件安全风险及应对
    约瑟夫环 数学解法
    Android 蓝牙使用
    艾美捷Cas9核酸酶参数说明和应用
    PDF怎么翻译成中文?这些方法值得收藏
    子网掩码的作用
  • 原文地址:https://blog.csdn.net/qq_43812868/article/details/133358125