1.显示文件对话框,选择一个目录,显示选中目录中的所有图片的代码如下
主要class:
QFileDialog
QStringList
QFileInfoList
QDir
void open(){ QFileDialog *dlg = new QFileDialog(this,"open","E:/Documents/papers"); dlg->setFileMode(QFileDialog::Directory); if (dlg->exec() == QFileDialog::Accepted){ QStringList rets = dlg->selectedFiles(); for (auto directory : rets){ QDir dir(directory); QStringList filters; filters << "*.png" << "*.jpg" << "*.bmp"; dir.setNameFilters(filters); QFileInfoList list = dir.entryInfoList(); curImageList.append(list); } for (auto file : curImageList){ //qDebug() << file.filePath()<< endl; } } }
2.图片路径中有中文时读图失败,下面一句话可以解决
curImageList.at(curImageId + 1).filePath().toLocal8Bit().constData()