0

を使用して確認しようとすると、QPixmapが初期化されているかどうかを確認しようとします:

QPixmap pix;

    if(pix.data_ptr())
    or
    if(pix != null)

pix は QPixmap type のメンバーです。

すべてが私に与えます:

Access violation reading location 0x0000000c.

pix が null の場合、コードをチェックインするにはどうすればよいですか?

4

2 に答える 2

3

isNull()関数を使用して、

if(!item->pix.isNull())
于 2013-02-27T13:22:47.133 に答える
2

非ポインター QPixmap を初期化できない唯一のケースは、次のようなコードが実行された場合です。

QPixmap getPixmap()
{
 // no return statement here
}

QPixmap pix = getPixmap();
// now pix is invalid but .isNull() will return false

初期化されていないQStringで同様の問題が発生しました。

于 2013-02-27T16:37:13.450 に答える