C++ QPixmap fromImage 分割错误

问题描述

我正在编写一个需要频繁调用以下槽函数的程序。这个功能一开始运行正常,但是过了一段时间,出现了segmentation fault。 img 传递正确,问题发生在 fromImage 函数中。我该如何解决这个问题?

void StitchWindow::showStitchImg(QImage img)
{
    img_label->resize(img.width(),img.height());
    Qpixmap img_pix = Qpixmap::fromImage(img);
    img_label->setpixmap(img_pix)
}

解决方法

QImage 使用隐式数据共享。您需要通过调用分离您的数据

img.bits()

void StitchWindow::showStitchImg(QImage img)
{
    img.bits();
    img_label->resize(img.width(),img.height());
    QPixmap img_pix = QPixmap::fromImage(img);
    img_label->setPixmap(img_pix)
}