qt 打开目录添加目录下所有图片
时间: 2023-12-13 15:03:44 浏览: 33
要在Qt中打开目录并加载该目录下的所有图片,你可以使用QFileDialog选择目录,然后使用QDir遍历目录中的所有文件。在每个文件中,你可以检查文件类型,如果是图片文件,则进行相应的处理。
以下是一个示例代码:
```cpp
#include <QApplication>
#include <QFileDialog>
#include <QDir>
#include <QFileInfoList>
#include <QDebug>
#include <QPixmap>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 打开目录选择对话框
QString dirPath = QFileDialog::getExistingDirectory(nullptr, "Select Directory", QDir::currentPath());
// 遍历目录中的所有文件
QDir dir(dirPath);
QFileInfoList fileList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
foreach (QFileInfo fileInfo, fileList) {
QString filePath = fileInfo.absoluteFilePath();
QString fileExtension = fileInfo.suffix();
// 检查文件类型是否为图片
if (fileExtension == "png" || fileExtension == "jpg" || fileExtension == "jpeg" || fileExtension == "bmp") {
// 加载图片
QPixmap pixmap(filePath);
if (!pixmap.isNull()) {
// 处理图片,例如显示到界面上
// ...
qDebug() << "Loaded image: " << filePath;
}
}
}
return a.exec();
}
```
在这个例子中,我们首先使用QFileDialog选择目录,然后使用QDir遍历目录中的所有文件。对于每个文件,我们获取其文件路径和扩展名,并检查扩展名是否为常见的图片格式。如果是图片文件,则使用QPixmap加载图片,并进行相应的处理,例如显示到界面上。你可以根据自己的需求进行相应的操作。