这是代码:
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
声明为全局变量,得到了段错误。
答案 0 :(得分:0)
加载前请勿用白色填充图像... 因此使用QPixmap:
QString loc;
// fill loc with a path to your image file.
QPixmap pmap;
pmap.load(loc);
小心,QT无法读取所有图像类型。在这里查看QtImageReading以查看QT支持的数据类型。