Qt c ++ QPixmap проверяет, инициализирован ли он

я пытаюсь проверить, инициализирована ли QPixmap, когда я пытаюсь проверить, используя:

QPixmap pix;

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

где pix является членом типа QPixmap.

все дает мне

Access violation reading location 0x0000000c.

Как я могу проверить в коде, если пиксель является нулевым?

0

Решение

Единственный случай, когда не указатель QPixmap может быть не инициализирован, это когда код, подобный этому, выполняется:

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

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

У меня были похожие проблемы с неинициализированными QStrings.

2

Другие решения

Использовать isNull() функция,

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

По вопросам рекламы [email protected]