标签:Qt fileInfoList QDir 文件夹 pStandModel new QStandardItem row
简述
如图递归获取文件夹内所有文件和子文件
代码
void findAllFiles(const QString path, QFileInfoList &fileInfoList)
{
QDir dir(path);
foreach(QFileInfo info,dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs)){
qDebug()<<"dir:"<<info.filePath();
findAllFiles(info.filePath(),fileInfoList);
}
foreach(QFileInfo info,dir.entryInfoList(QDir::Files)){
fileInfoList.append(info);
qDebug()<<"fileInfo"<<info;
}
}
参考测试代码
void MainWindow::on_pushButton_clicked()
{
m_fileInfoList.clear();
findAllFiles(ui->lineEdit->text(),m_fileInfoList);
QAbstractItemModel *pModel = ui->tableView->model();
if(!pModel){
pModel->deleteLater();
pModel = nullptr;
}
QStandardItemModel *pStandModel = new QStandardItemModel(m_fileInfoList.count(),3);
for (int row = 0; row < pStandModel->rowCount(); ++row) {
QStandardItem *item = new QStandardItem(m_fileInfoList[row].fileName());
pStandModel->setItem(row, 0, item);
QStandardItem *item1 = new QStandardItem(m_fileInfoList[row].absolutePath());
pStandModel->setItem(row, 1, item1);
QStandardItem *item2 = new QStandardItem(QString::number(m_fileInfoList[row].size()));
pStandModel->setItem(row, 2, item2);
}
ui->tableView->setModel(pStandModel);
}
标签:Qt,fileInfoList,QDir,文件夹,pStandModel,new,QStandardItem,row 来源: https://blog.csdn.net/qq_41673920/article/details/123072979
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。