QPixmap :: load上的分段错误

时间:2012-02-26 09:33:46

标签: qt load segmentation-fault qpixmap

这是代码:

void MainWindow::setPic(QString loc, int panel)
{
    if(panel == 1)
    {
        loc1 = loc;
        QPixmap pmap;
        facedetect(loc1.toStdString(), 1, "CAND1.jpg");
        qDebug() << "Loading : " << loc1;
        pmap.load(loc1); // I'm getting the segfault error in this line
        qDebug() << "Loaded : " << loc1;
        ui->PicView1->setPixmap(pmap);
    }

}

我该如何解决此错误?

BTW,我正在使用Qt 4.8和最新的Qt Creator,在Ubuntu 12.04上。

我用壁纸试了一下,它崩溃了。我尝试了我的1x1 id pic,崩溃了(多么粗鲁......),我尝试了一下我的考试时间表(从不同的图像裁剪),它说它加载了,但是QLabel {{ 1}}不显示任何内容。

我尝试将PicView1声明为全局变量,得到了段错误。

1 个答案:

答案 0 :(得分:0)

加载前请勿用白色填充图像... 因此使用QPixmap:

QString loc;
// fill loc with a path to your image file.
QPixmap pmap;
pmap.load(loc);

小心,QT无法读取所有图像类型。在这里查看QtImageReading以查看QT支持的数据类型。