Qt - QFileSystemModel如何在文件夹中获取文件(Noob)
Qt - QFileSystemModel How to Get Files in Folder (Noob)
我有以下代码来列出listView中的文件:
fileModel = new QFileSystemModel(this);
ui->listView->setModel(fileModel);
ui->listView->setRootIndex(fileModel->setRootPath(filePath));
我想得到一个列表/映射到路径中的文件。如何做到这一点?
下面的代码片段可以满足您的要求:
QList<QString> path_list;
QModelIndex parentIndex = fileModel->index(filePath);
int numRows = fileModel->rowCount(parentIndex);
for (int row = 0; row < numRows; ++row) {
QModelIndex childIndex = fileModel->index(row, 0, parentIndex);
QString path = fileModel->data(childIndex).toString();
path_list.append(path);
}
有一件事你不应该忘记。来自文档:
不像QDirModel(过时的),QFileSystemModel使用一个单独的线程来填充它自己,这样它就不会导致主线程挂起正在查询文件系统。调用rowCount()将返回0,直到模型填充一个目录。
因此,在您初始化模型之后,您必须等待从QFileSystemModel接收到directoryLoaded(const QString & path)
信号,然后填充您的列表。
相关文章:
- C++ - 忽略并从其他文件获取数据
- 为什么从文件获取图标时应用程序有时会崩溃?
- 如何在 c++ 窗口中将参数和返回的退出值传递到批处理文件/从批处理文件获取返回的退出值
- Qt .pro 文件获取 Qtkit 名称
- 提升属性树:如何使用xml文件获取子树的子级
- 从C 中的二进制文件获取整数值时
- 如何在Windows上绕过主机文件获取真实的IP地址
- 如何使用 CPP/C# 从 VHDX 文件获取文件(或文件系统)
- 从读取到对象指针数组的文件获取段错误
- 是否可以从IOS项目中的cpp文件获取文件路径
- 将数据从头文件获取到源文件中的非成员函数中
- 从两个不同的文件获取输入时,输入会发生变化
- 从文件 C++ 获取整数
- 通过在 C++ 中使用发布模式二进制文件获取崩溃原因
- C++ 将值从文件获取到数组中
- 使用HTTP上载文件.获取错误:-HttpSendReuest 12005
- 正在从外部文件获取输入
- 读/写同一个文件(获取gmon.out)
- 从二进制文件获取输入时发生访问冲突错误
- 从特定文件获取函数指针