QDir的用法

来源:互联网 发布:淘宝客源码7.0破解版 编辑:程序博客网 时间:2024/06/08 08:05

      类QDir提供了对目录结构和它们的内容的访问方式。QDir用来操作路径名,访问关于路径和文件的信息,操作基础的文件系统,还可以用来访问Qt的资源系统。
       Qt使用"/"来作为通用的目录分隔符,这一点和在URLs中的路径分割符的用法一致。如果你使用"/"作为文件分隔符,Qt会自动地转换你的路径来匹配你的基础的操作系统。
       绝对路径的用法:

QDir("/home/user/Documents")QDir("C:/Documents and Settings")


       相对路径的用法:

QDir("images/landscape.png")#include <QtCore>#include <QDebug>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QDir mDir("D:/qttest"); //或者可以用D:\\qttest来代替    QDir nDir;    qDebug() << mDir.exists(); //测试文件是否存在    qDebug() << mDir.absoluteFilePath("main.cpp"); //返回指定目录下指定文件的绝对路径    qDebug() << mDir.dirName(); //剥离掉路径,只返回目录的名字    QFileInfo fi("C:/Documents and Settings/Administrator/pcmscan.cfg");    qDebug() << fi.absoluteFilePath(); //返回文件的绝对路径    qDebug() << fi.filePath(); //返回文件的路径    qDebug() << fi.fileName(); //剥离掉路径,只返回文件的名字    //driver()返回系统根目录下的目录列表    foreach(QFileInfo mItem, nDir.drives())    {        qDebug() << mItem.absolutePath();    }    //entryInfoList()根据名字或属性顺序返回指定目录下所有的文件和目录的QFileInfo对象    foreach(QFileInfo nItem, nDir.entryInfoList())    {        qDebug() << nItem.absoluteFilePath();    }    QString mPath = "D:/test/ZZZ";    QDir kDir;    if(!kDir.exists(mPath)) //判断指定目录下是否存在指定目录    {        kDir.mkpath(mPath); //生成指定目录        qDebug() << "Create";    }    else    {        qDebug() << "Already exits";    }    return a.exec();}


       运行,输出为:

true"D:/qttest/main.cpp""qttest""C:/Documents and Settings/Administrator/pcmscan.cfg""C:/Documents and Settings/Administrator/pcmscan.cfg""pcmscan.cfg""C:/""D:/""E:/""F:/""G:/""H:/""D:/qttest/QtDir-build-desktop""D:/qttest""D:/qttest/QtDir-build-desktop/debug""D:/qttest/QtDir-build-desktop/Makefile""D:/qttest/QtDir-build-desktop/Makefile.Debug""D:/qttest/QtDir-build-desktop/Makefile.Release""D:/qttest/QtDir-build-desktop/release"Already exits

0 0
原创粉丝点击