利用qt批量加载特定格式的文件:
void MySeaMapDrive::OpenMapDialog()
{
QString path = QFileDialog::getExistingDirectory(NULL, tr("Open Directory"),"/",
QFileDialog::ShowDirsOnly
| QFileDialog::DontResolveSymlinks);
QList<QString> pathList;
QDir dir(path);
if(!dir.exists())
{
return;
}
//获取所选文件类型过滤器
QStringList filters;
//filters<<QString("*.jpeg")<<QString("*.jpg")<<QString("*.png")<<QString("*.tiff")<<QString("*.gif")<<QString("*.bmp");
filters<<QString("*.000");
//定义迭代器并设置过滤器
QDirIterator dir_iterator(path, filters,
QDir::Files | QDir::NoSymLinks,
QDirIterator::Subdirectories);
while(dir_iterator.hasNext())
{
dir_iterator.next();
QFileInfo file_info = dir_iterator.fileInfo();
QString absolute_file_path = file_info.absoluteFilePath();
pathList.append(absolute_file_path);
//qDebug()<<absolute_file_path;
}
foreach (QString path, pathList) {
qDebug()<<path.toLatin1().data();//QString转char*
}
}