c++ - 在QT中,使用包含空格的QImage load()

  显示原文与译文双语对照的内容
0 0

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

函数的文件名被存储在QString中的函数所返回。 我尝试使用 QString.replace() 来转义带有反斜杠的空格,但它似乎不起作用。 显然,仅仅删除空间是不可能的。

我四处查看了一下,没有找到任何工作解决方案。 如何加载包含空格的文件名的图像? 谢谢!

时间: 原作者:

0 0

这对我来说很正常:

这只是使用 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 ;
}

...