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

Using QImage load() with filename containing spaces in QT

本文关键字:QT 空格 包含 文件名 QImage-load 使用      更新时间:2023-10-16

我在程序中使用QImage.load()加载图像,但只有当文件名不包含任何空格时(例如:"/Users/Emile/Dropbox/crookedStall cover.jpg"(,它才能工作。由于我希望用户能够从他们的计算机中选择任何图像,这有点问题。

所选图像的文件名由函数返回,并存储在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 ;
}