QT笔记 -- (2) 文件相关操作、中文路径乱码

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()
原文地址:https://www.cnblogs.com/redips-l/p/6995476.html