在 QT 中使用文件名包含空格的 QImage load()

Using QImage load() with filename containing spaces in QT

我正在使用 QImage.load() 在我的程序中加载图像,但它仅在文件名不包含任何空格时有效(例如:"/Users/Emile/Dropbox/crookedStall cover.jpg")。因为我希望用户能够 select 从他们的计算机中获取任何图像,所以这有点问题。

函数返回的 selected 图像的文件名存储在 QString 中。我曾尝试使用 QString.replace() 用反斜杠转义空格,但这似乎不起作用。显然,简单地删除空格也不起作用。

我环顾四周,没有找到任何可行的解决方案。 如何加载文件名包含空格的图像?谢谢!

这对我来说很好用:

这只是使用 QFileDialog::getOpenFileNames 定位文件

QString filter = QString("Supported Files (*.shp *.kml *.jpg *.png );;All files (*)");
QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Select File(s)"), QDir::homePath(), filter);
for(int idx =0; idx < fileNames.size(); ++idx)
{
    QImage image ;
    bool success = image.load(fileNames.at(i));
    qDebug() << "File loaded succesfully " << success ;
}