我想在文件夹中加载图片。
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Images"), "C:/Users/Public/Pictures/Sample Pictures/pic.jpg", tr("Image Files (*.png *.jpg *.bmp)"));
ui->label_pic->setPixmap(QPixmap::fromImage(fileName));
上面没有问题代码或者我可以做那个imread功能但我想逐个加载文件夹中的图片。例如;如果文件夹中有50个.jpg图像我想逐个打印屏幕。
QString fileName2;
QString directory = QFileDialog::getExistingDirectory(this,tr("Find Files"), QDir::currentPath());
//directoryComboBox->setCurrentIndex(directoryComboBox->findText(directory));
ui->directoryComboBox->addItem(directory);
如果我选择C:/ Users / Public / Pictures / Sample Pictures,我想在屏幕上显示所有图片。
答案 0 :(得分:1)
使用QDir::entryList
获取符合条件(图片)的目录中的文件列表,然后使用foreach
:
QDir dir(directory);
dir.setNameFilters(QStringList() << "*.png" << "*.jpg");
QStringList fileList = dir.entryList();
foreach (QString path, fileList)
{
// do what you want, for example, create a new QLabel here
}