编写程序,使用QDir读取images文件夹下的全部图片
时间: 2024-02-27 10:58:51 浏览: 54
好的,以下是使用Qt的QDir类读取images文件夹下的全部图片的示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QDir>
#include <QFileInfoList>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir directory("images"); // 创建QDir实例并指定目录
if (directory.exists()) // 判断目录是否存在
{
QStringList filters; // 创建过滤器列表
filters << "*.png" << "*.jpg" << "*.jpeg" << "*.bmp"; // 添加过滤器,用于筛选图片文件
directory.setNameFilters(filters); // 设置过滤器
QFileInfoList fileList = directory.entryInfoList(); // 获取目录下的全部文件信息
foreach (QFileInfo fileInfo, fileList) // 遍历文件信息列表
{
if (fileInfo.isFile()) // 判断是否为文件
{
qDebug() << fileInfo.absoluteFilePath(); // 输出文件绝对路径
}
}
}
return a.exec();
}
```
在上述代码中,我们首先创建了一个QDir实例,并在构造函数中指定了要读取的目录名。然后,我们使用exists()函数判断目录是否存在,如果存在,则创建一个QStringList类型的过滤器列表,并添加了几个常见的图片文件后缀名。接着,使用setNameFilters()函数将过滤器设置到QDir实例中,最后使用entryInfoList()函数获取目录下的全部文件信息,然后遍历文件信息列表并输出文件的绝对路径。
需要注意的是,上述代码中的输出语句是使用了QDebug类输出的,如果要使用标准输出函数输出,则可以将qDebug()改为qPrintable()。
阅读全文