Обычно это может помочь, если вы укажете сообщение об ошибке в своем вопросе.Теперь, глядя на онлайн-документацию qts, я думаю, что ваша проблема заключается в следующем:
вы пытаетесь передать qi типа QImage*
в QPixMap :: fromImage , который ожидает1006 *, так что ссылка на QImage.Поэтому вам нужно разыменовать qi
:
ui->viewLabel->setPixmap(QPixmap::fromImage(*qi,Qt::AutoColor));
Это в основном идентично вашей второй версии ui->viewLabel->setPixmap(QPixmap::fromImage(qi[0],Qt::AutoColor));
, поскольку ptr[i]
определяется как *(ptr+i)
, поэтому ptr[0]
означает в основном*(ptr+0)
, что *ptr
.Однако использование *
для разыменования здесь делает более понятным, что вы разыменовываете указатель на один объект вместо массива.