要獲取一個文件夾下的所有文件夾,可以使用QDir類。下面是一種可能的方法:
#include <QDir>
#include <QDebug>
void getAllSubfolders(const QString &folderPath)
{
QDir folder(folderPath);
QStringList subfolders = folder.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
foreach (const QString &subfolder, subfolders) {
QString subfolderPath = folderPath + QDir::separator() + subfolder;
qDebug() << "Subfolder: " << subfolderPath;
// 遞歸地獲取子文件夾的子文件夾
getAllSubfolders(subfolderPath);
}
}
int main()
{
QString folderPath = "path/to/folder";
getAllSubfolders(folderPath);
return 0;
}
上述代碼定義了一個函數getAllSubfolders
,該函數以文件夾路徑作為參數,獲取指定文件夾下的所有文件夾。首先,使用QDir
類打開指定文件夾,然后使用entryList
函數獲取該文件夾下的所有文件夾(排除".“和”…")。然后,使用foreach
循環遍歷子文件夾列表,并遞歸地調用getAllSubfolders
函數以獲取子文件夾的子文件夾。每次找到一個子文件夾時,將其路徑打印到控制臺。
你需要根據你的實際需求修改函數main
中的folderPath
變量,指定你想要獲取子文件夾的文件夾路徑。