qt 获取当前文件夹下的全部文件夹并生成字符列表

在 Qt 中,你可以使用 QDir 类来操作目录和文件系统。要获取当前文件夹下的全部文件夹并生成字符列表,你可以按照以下步骤进行:

  1. 创建一个 QDir 对象并设置为当前目录。
  2. 使用 QDir 的 entryList 方法获取目录列表。
  3. 过滤出文件夹并存储到一个 QStringList 中。

以下是一个示例代码,展示了如何实现这一点:

 

#include <QCoreApplication>  
#include <QDir>  
#include <QStringList>  
#include <QDebug>  
  
int main(int argc, char *argv[])  
{  
    QCoreApplication a(argc, argv);  
  
    // 指定你想要遍历的文件夹路径  
    QString folderPath = "/path/to/your/folder";  
  
    // 创建一个 QDir 对象来表示这个文件夹  
    QDir dir(folderPath);  
  
    // 设置过滤器来获取文件夹,同时排除 '.' 和 '..'  
    dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);  
  
    // 获取文件夹列表  
    QStringList folderList = dir.entryList();  
  
    // 如果需要完整路径,可以遍历 folderList 并添加 folderPath  
    QStringList fullPathList;  
    for (const QString &folderName : folderList) {  
        fullPathList << dir.absoluteFilePath(folderName);  
    }  
  
    // 打印文件夹列表  
    qDebug() << "Folders in specified directory:";  
    for (const QString &folder : folderList) {  
        qDebug() << folder;  
    }  
  
    // 如果需要打印完整路径  
    qDebug() << "Full paths of folders in specified directory:";  
    for (const QString &fullPath : fullPathList) {  
        qDebug() << fullPath;  
    }  
  
    return a.exec();  
}

在这个示例中:

  1. QDir::currentPath() 获取当前工作目录的路径。
  2. entryList(QDir::Dirs | QDir::NoDotAndDotDot) 获取当前目录下的所有文件夹,QDir::Dirs 过滤器用于只获取目录,QDir::NoDotAndDotDot 过滤器用于排除 . 和 .. 这两个特殊目录。
  3. 使用 QStringList 存储获取的文件夹名称。
  4. 使用 qDebug() 打印文件夹列表。

如果你需要将这个字符列表用于其他目的,可以直接使用 folderList,它是一个 QStringList 类型的对象,包含了当前目录下的所有文件夹名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值