三味线
三味线
Published on 2018-04-18 / 47 Visits
0
0

Qt获取某目录下所有某类型的文件

void ScriptConfig::updateComboBox()
{
    QDir fromDir = "./Data";
    QStringList filters;
    filters.append("*.xls");
    filters.append("*.xlsx");
    filePathList.clear();
    fileNameList.clear();
    scanData(fromDir, filters);
    ui.datacmBox->clear();
    ui.datacmBox->addItems(fileNameList);
}
bool ScriptConfig::scanData(const QDir &fromDir, const QStringList &filters)
{
    QFileInfoList fileInfoList = fromDir.entryInfoList(filters, QDir::AllDirs|QDir::Files);
    foreach(QFileInfo fileInfo, fileInfoList)
    {
        if (fileInfo.fileName() == "." || fileInfo.fileName() == "..")
            continue;
        if (fileInfo.isDir())
        {
            if (!scanData(fileInfo.filePath(), filters))
                return false;
        }
        else
        {
            filePathList.append(fileInfo.absoluteFilePath());
            fileNameList.append(fileInfo.fileName());
        }
    }
    return true;
}


Comment