多次迭代后不断生成 QPixmap* 失败

Constantly generating QPixmap* fails after a number of iterations

我正在使用以下代码生成 QPixmap* 指针,然后将它们插入 QHash<QString, QPixmap*>(我将仅显示指针生成代码,因为这是失败的代码)。

QPixmap* MyClass::loadImg(QString fileName)
{
    QImage qimage(fileName);
    if (qimage.isNull()) {
       qDebug() << "Cannot load image " <<  fileName;
    }

    QPixmap *image = new QPixmap(fileName);
    return image;
}

我遇到的问题如下: 对于前大约 200 次调用,该方法工作正常 - 它在循环访问目录的图像文件时被调用。然后 QPixmap* 突然开始无缘无故地返回 QPixmap(null)。发生这种情况时,QImage 也为 null。 我已经检查并确保路径没问题。此外,我尝试了各种图像集,但同样的情况总是会发生——它运行时没有问题~200 次调用,然后开始生成空值。

如有任何帮助,我们将不胜感激。

谢谢。

只是不要在堆上创建它。 QPixmap 是隐式共享的。