Qt 查找程序目录下所有.ts后缀的文件,包含子文件夹
时间: 2023-09-12 08:10:00 浏览: 151
可以使用 QDirIterator 来实现在程序目录下查找所有 .ts 后缀文件,包含子文件夹。可以按照以下步骤实现:
1. 使用 QDir 获取程序目录路径,例如:
```cpp
QDir dir(qApp->applicationDirPath());
```
2. 使用 QDirIterator 遍历目录树,查找所有 .ts 后缀的文件,例如:
```cpp
QDirIterator it(dir.absolutePath(), QStringList() << "*.ts", QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
while (it.hasNext()) {
QString filePath = it.next();
// 处理 filePath
}
```
其中,第一个参数为遍历的根目录,第二个参数为搜索的文件名过滤器,第三个参数为搜索的文件类型和属性,第四个参数为遍历的选项。在遍历过程中,可以获取到每个符合条件的文件的绝对路径,进行进一步操作。
相关问题
写一个Qt函数,查找程序目录下所有.ts后缀的文件,包含子文件夹,返回所有文件路径
可以编写一个返回所有 .ts 文件路径的函数,具体实现如下:
```cpp
QStringList findTsFilesInDir()
{
QStringList tsFilePaths;
// 获取程序目录路径
QDir dir(qApp->applicationDirPath());
// 使用 QDirIterator 遍历目录树,查找所有 .ts 后缀的文件
QDirIterator it(dir.absolutePath(), QStringList() << "*.ts", QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
while (it.hasNext()) {
QString filePath = it.next();
tsFilePaths.append(filePath);
}
return tsFilePaths;
}
```
这个函数使用了 QDirIterator 进行遍历,将符合条件的 .ts 文件路径添加到一个 QStringList 中,并返回该 QStringList,供调用者使用。注意,需要在使用该函数前确保已经包含了 `#include <QDir>` 和 `#include <QDirIterator>`。
阅读全文