首页 > 其他分享 >qt目录操作

qt目录操作

时间:2022-10-05 21:33:31浏览次数:50  
标签:文件 qt QDir 使用 qDebug 操作 目录 dir

一、目录操作

主要用到两个类:QDir,QFileInfo

1.1 QDir

QDir 类具有存取目录结构和内容的能力,使用它可以操作目录、存取目录或文件信息、操作底层文件 系统,而且还可以存取 Qt 的资源文件。

判断目录是否存在可以使用 exists(),目录的属性可以使用 isReadable()、isAbsolute ()、 isRelative() 和 isRoot()来获取 。 目录下有很多条目,包括文件、目录和符号连接,总的条目数可以使用 count()来 统计。 entryList()返回目录下所有条目组成的字符串链表 。 文件可以使用 remove()函数删除,删除目 录用 rmdir() ,改名用rename()。

一般使用Filters对目录下的文件进行过滤。

1.2、QFileInfo

QFilelnfo 类提供了与系统无关的文件信息,包括文件的名称、在文件系统中的位置(路径)、文件的 访问权限以及是否是一个目录或者符号链接等 。 QFilelnfo也可以获取文件的大小和最近一次修改/读 取的时间,还可以获取 Qt 资源的相关信息 。 QFilelnfo 指向的文件可以在 QFileinfo 对象构建时设置,或者以后使用 setFile()来设置。可以使用以 exists()来查看文件是否存在,使用 size ()获取文件的大小。

1.3、判断文件夹是否存在

    QDir dir("D:/game");    
    qDebug()<<dir.exists();//该路径文件存不存在,不存在返回假

1.4、创建目录

QDir dir("D:/test");
if(!dir.exists())
{
	dir.mkdir("D:/test");
    qDebug()<<"创建了新的文件夹";
}
else
{
    qDebug()<<"文件夹存在";
}

1.5、获取常用目录

	  QDir dir;
      qDebug()<<dir.current();  
      qDebug()<<dir.currentPath();  //相对路径的起始位置
      qDebug()<<dir.homePath();
      qDebug()<<dir.tempPath();
      qDebug()<<dir.rootPath(); //根目录

1.6、切换路径

    qDebug()<<dir.dirName();//当前文件夹的名字
    qDebug()<<dir.absolutePath();//当前文件夹的绝对路径
    dir.cd("C:/");//切换到C盘下
    qDebug()<<dir.absolutePath();

    dir.rmdir("D:/test");   //删除文件夹,,remove:文件的删除

1.7、遍历文件

QDir dir("D:/test");
foreach(QFileInfo item,dir.entryInfoList()) //遍历文件夹里面的所有文件夹和文件
    {
        if(item.isDir())
        {
            qDebug()<<"文件夹"<<item.filePath();	//fileName只有名字
        }
        else if (item.isFile())
        {
            qDebug()<<"文件:"<<item.filePath();
        }
    }

1.8、文件过滤

    QStringList listters;   //过滤条件
    listters<<"*.txt"<<"*.rar"; //设置过滤条件
    dir.setNameFilters(listters);	//过滤掉指定名称的文件
    qDebug()<<dir.entryList(listters,QDir::Files);

标签:文件,qt,QDir,使用,qDebug,操作,目录,dir
From: https://www.cnblogs.com/Mr-black-7/p/16756462.html

相关文章

  • 用CAP操作RabbitMQ 处理分布式事务的解决方案
    一、在Nuget中引用以下包:dotnetcore.capDotNetCore.CAP.DashboardDotNetCore.CAP.RabbitMQDotNetCore.CAP.SqlServer二、在Program.cs中注册服务//配置CAPbuild......
  • MIT6.S081-第一章操作系统接口
    第一章操作系统接口操作系统这个词对大家来说肯定都不陌生,Windows、Linux、macOS以及iOS、Android…这些操作系统其实每天都和我们进行交互,它们在我们每天使用的手机、电......
  • PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置P......
  • Linux下如何统计指定文件夹下的文件个数、目录个数呢?
    下文笔者讲述linux中统计指定文件夹中文件个数和目录个数的方法分享,如下所示:统计当前文件夹下文件的个数,包括子文件夹里的ls-lR|grep"^-"|wc-l统计文件夹下目录的个数,包......
  • /bin/bash^M: 坏的解释器: 没有那个文件或目录 的解决方法
    linux执行bash文件时报错:/bin/bash^M:坏的解释器:没有那个文件或目录的解决方法执行命令:sed's/\r//'-igen_cert.shidea设置:由于在windows下的换行符多一个回车......
  • js数据操作
    1.数据绑定WXML中部分数据来自JS中的data1.1js中设置数据data:{myName:"123",title:"weixin",content:"123000",arr:["str","lwx"],//数组//对象o......
  • 键盘控制操作
    #-*-coding:utf-8-*-importtimefrompyautoguiimport*defdemo1():time.sleep(2)#控制键盘发送文本write('helloworld',interval=0.01)......
  • HDFS shell命令行常用操作
    1.hadoopfs-mkdir[-p]<path>path为待创建的目录,如果没有一个父目录就加一个-p例:hadoopfs-mkdir/yuan创建一个shenzi的目录2.hadoopfs-ls[-h][-R][path]p......
  • 计算机操作系统 - 链接
    编译系统以下是一个hello.c程序:#include<stdio.h>intmain(){printf("hello,world\n");return0;}在Unix系统上,由编译器把源文件转换为目标文件。......
  • db2 数据库的目录
    1、数据库的目录1、数据库目录用于存储数据库的信息,如表空间、表、容器等信息2、创建位置取决于创建数据库时指定的数据库路径3、分区全局目录结构:db_path/instance_name/NO......