多次迭代后不断生成 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 是隐式共享的。
我正在使用以下代码生成 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 是隐式共享的。