【发布时间】:2012-03-16 03:47:34
【问题描述】:
这是代码:
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 声明为全局变量,但出现了段错误。
【问题讨论】:
-
填充空像素图没有多大意义,并且您发布的代码没有理由失败,问题可能出在其他地方。您确定
loc确实是一个有效的、实时的 QString 吗? -
是的,我确信它有内容,Qt Creator 的调试视图说有。
-
即使是无效的路径也不能让 QPixmap 崩溃。尝试使用不同的图像文件,以确保它不是图像读取代码中的错误。
-
我用壁纸试过了,它崩溃了。我用我的 1x1 id pic 试了一下,崩溃了(多么粗鲁......),我用我的考试时间表(从不同的图像裁剪)试了一下,它说它已加载,但
QLabel PicView1不显示任何东西。 -
这也发生在我身上!!你是怎么解决这个问题的?
标签: qt load segmentation-fault qpixmap