Qt c ++ QPixmap检查它是否已初始化

时间:2013-02-27 13:19:04

标签: c++ qt qpixmap

我尝试检查QPixmap是否已初始化,当我尝试使用时检查:

QPixmap pix;

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

其中pix是QPixmap类型的成员。

所有人都给了我:

Access violation reading location 0x0000000c.

如果pix为null,我如何检查代码?

2 个答案:

答案 0 :(得分:3)

使用isNull()功能

if(!item->pix.isNull())

答案 1 :(得分:2)

非指针QPixmap无法初始化的唯一情况是执行如下代码:

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

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

我在未初始化的QStrings方面遇到了类似的问题。