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 CreatorでQt 4.8を使用しています。

壁紙で試してみましたが、クラッシュします。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 に答える