QT迭代查找文件夹下的所有文件,并根据文件后缀筛选

xiaoxiao2021-02-27  144

QString strCurrentWorkDir = SysUI::EnvironmentSetting::Instance()->GetCurrentWorkDir(); QString strPathDir = QFileDialog::getExistingDirectory(this, translate("NewProjectDlg", "Open Dir"), strCurrentWorkDir); if (strPathDir.isEmpty()) return; QStringList ImgFilter; QString strExt = "*.tiff"; ImgFilter << strExt; strExt = "*.tif"; ImgFilter << strExt; strExt = "*.img"; ImgFilter << strExt; strExt = "*.pix"; ImgFilter << strExt; //定义迭代器并设置过滤器 QDirIterator dir_iterator(strPathDir, ImgFilter, QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories); while (dir_iterator.hasNext()) { dir_iterator.next(); QFileInfo file_info = dir_iterator.fileInfo(); if (file_info.isFile()) { QString file_path = file_info.absoluteFilePath(); file_path = QDir::toNativeSeparators(file_path); QString strFile = file_path; QString file_name = strFile.right(strFile.length() - strFile.lastIndexOf('\\') - 1); for (int i = 0; i < m_vecSateInfo.size(); i++) { if (file_name.contains(m_vecSateInfo[i].strType) && file_name.contains(m_vecSateInfo[i].strIdentify)) { if (m_vecSateInfo[i].strIdentify == "PAN" || m_vecSateInfo[i].strIdentify == "NAD" || m_vecSateInfo[i].strIdentify == "DGP") { m_vecPan.push_back(strFile); break; } else { m_vecMss.push_back(strFile); break; } } } } }
转载请注明原文地址: https://www.6miu.com/read-16216.html

最新回复(0)