Qt—遍历文件夹并筛选的简单使用

1、 遍历某路径下的所有文件

QString svgPath = "E:\";
QDir dir(svgPath);
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Size | QDir::Reversed);

QStringList filterList;
filterList << "*.svg";   //设置筛选条件
QFileInfoList list = dir.entryInfoList(filterList);

for (int i = 0; i < list.size(); ++i) 
{
	QFileInfo fileInfo = list.at(i);
	QTreeWidgetItem *childItem = new QTreeWidgetItem(rootItem);
	childItem->setText(0,fileInfo.baseName());
}

2、遍历某路径下的所有文件夹

筛选条件改为:dir.setFilter(QDir::Dirs);

QString svgPath = "E:\";
QDir dir(svgPath);
if (!dir.exists())
{
	return;
}
dir.setFilter(QDir::Dirs);
foreach(QFileInfo fullDir, dir.entryInfoList())
{
    if(fullDir.fileName() == "." || fullDir.fileName() == "..") 
	{
		continue;
	}
    //....todo
}

使用路径时先判断下该路径是否存在,这应该是一个习惯。

你可能感兴趣的:(Qt)