2

这是代码:

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);
    }

}

我该如何解决这个错误?

顺便说一句,我在 Ubuntu 12.04 上使用 Qt 4.8 和最新的 Qt Creator。

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

我尝试将QPixmap全局变量声明为 segfault。

4

1 回答 1

0

在加载之前不要用白色填充你的图像......因此使用 QPixmap :

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

请注意,QT 无法读取所有图像类型。在此处查看QtImageReading以查看 QT 支持的数据类型。

于 2012-02-26T10:05:45.450 回答