在QT

时间:2015-07-02 16:17:26

标签: c++ qt qimage

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

所选图像的文件名由函数返回,存储在QString中。我已经尝试使用QString.replace()以反斜杠来逃避空格,但这似乎不起作用。显然,简单地删除空格也不起作用。

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

1 个答案:

答案 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 ;
}