美文网首页
QT删除文件夹的方法

QT删除文件夹的方法

作者: _WhatsUp_ | 来源:发表于2017-10-23 16:19 被阅读0次

QDir中有函数可以删除文件夹,但是只能删除空文件夹。于是使用了最原始的方法:遍历文件夹逐个删除文件。

bool DeleteDirectory(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 fi, fileList)
    {
        if (fi.isFile())
        {
            fi.dir().remove(fi.fileName());
        }
        else
        {
            DeleteDirectory(fi.absoluteFilePath());
        }
    }
    return dir.rmpath(dir.absolutePath());
}

相关文章

网友评论

      本文标题:QT删除文件夹的方法

      本文链接:https://www.haomeiwen.com/subject/xfuauxtx.html