void readImg()
{
std::vector<QImage> vecImg;
//获取文件的路径
//QString folderName = QCoreApplication::applicationDirPath(); 获取当前路径
QString folderName = QFileDialog::getExistingDirectory(this, tr("Open Folder"), QString());
if (!folderName.isEmpty())
{
QDir dir(folderName);
vecImg.clear();
//过滤.jpg/png/bmp后缀图片
QFileInfoList pathImgList = dir.entryInfoList(QStringList() << "*.jpg" << "*.png" << "*.bmp", QDir::Files, QDir::NoSort);
for(QFileInfoList::iterator pathImgIter = pathImgList.begin(); pathImgIter != pathImgList.end(); ++pathImgIter)
{
QString imgName = pathImgIter->absoluteFilePath();
QImage img(imgName);
vecImg.push_back(img);
//调整QLable的尺寸为图片的尺寸
ui->dispImgLbl->setPixmap(QPixmap::fromImage(img));
ui->dispImgLbl->resize(img.size());
}
}
}
注意:在QLabel上不断显示图片需要用到多线程. 不然这个方法只能显示最后一张图片。 因为需要等这个方法执行结束,才会执行QLabel上显示图片