は、これはコードです:セグメンテーションフォールト::負荷
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 CreatorでQt 4.8を使用しています。
私は壁紙で試しましたが、クラッシュします。私は私の1x1のIDの写真でそれを試しました(クラウド...)、私は試験スケジュールのストリップ(別の画像から切り取ったもの)で試しましたが、ロードされましたが、QLabel
PicView1
は何も表示しません。
QPixmap
をグローバル変数として宣言しようとしましたが、segfaultがあります。
ヌルピックスマップを書き込むことはあまり意味がありません。投稿したコードが失敗する理由はありません。問題は別の場所にある可能性があります。あなたは 'loc'が本当に有効なQStringライブですと確信していますか? – Mat
はい、Qt Creatorのデバッグビューには内容があることが保証されていました。 – Rek
無効なパスであっても、QPixmapをクラッシュさせてはいけません。別のイメージファイルを試して、イメージの読み取りコードにバグではないことを確認してください。 –