方式1:
void ImageTree::addFolderImages(QString path)
{
//判斷路徑是否存在
QDir dir(path);
if(!dir.exists())
{
return;
}
dir.setFilter(QDir::Files | QDir::NoSymLinks);
QFileInfoList list = dir.entryInfoList();
int file_count = list.count();
if(file_count <= 0)
{
return;
}
QStringList string_list;
for(int i=0; i
{
QFileInfo file_info = list.at(i);
QString suffix = file_info.suffix();
if(QString::compare(suffix, QString("png"), Qt::CaseInsensitive) == 0)
{
QString absolute_file_path = file_info.absoluteFilePath();
string_list.append(absolute_file_path);
}
}
}
分析:遍歷文件的下壹層,對於系統而言包括:文件夾、文件、快捷方式,使用setFilter即可過濾。通過entryInfoList則可以獲取過濾後所得到的文件夾下的文件信息列表,遍歷文件通過操作QFileInfo可得到所需的文件詳細信息(大小、類型、後綴等)。