您可以使用QDirIterator一次遍历一个目录。它类似于QDir::entryList()和QDir::entryInfoList(),但因为它一次只列出一个条目,而不是一次列出所有条目,它的扩展性更好,更适合大目录。之前我们看到很多用递归的方式进行遍历的,用迭代器方法的效率
用法一:列举全部文件(不包含链接)
QString path = "目标路径";
QDirIterator iter(path,
QDir::Files | QDir::NoSymLinks,
QDirIterator::Subdirectories);
while(iter.hasNext())
{
iter.next();
qDebug() << "fileName:" << iter.fileName(); // 只有文件名
qDebug()