我正在尝试从对象的方法中绘制到 QGraphicsScene。代码如下所示:
void Enemy::draw(QGraphicsScene *scene) {
//Works
scene->addPixmap(pixmap);
//Doesn't work
pixmapItem = scene->addPixmap(pixmap);
}
pixmap
是类型的 Enemy 的成员QPixmap
,pixmapItem
是类型的 Enemy 的成员QGraphicsPixmapItem*
。
为什么将 addPixmap 的返回值分配给阻止显示像素图的指针?
编辑:进一步调查表明,虽然
QGraphicsPixmapItem *pointer = scene->addPixmap(pixmap);
将工作
将本地指针的值分配给 pixmapItem 使其再次停止工作:
QGraphicsPixmapItem *pointer = scene->addPixmap(pixmap);
//doesn't work now
pixmapItem = pointer;