0

オブジェクトのメソッド内から QGraphicsScene に描画しようとしています。コードは次のようになります。

void Enemy::draw(QGraphicsScene *scene) {
    //Works
    scene->addPixmap(pixmap);
    //Doesn't work
    pixmapItem = scene->addPixmap(pixmap);
}

pixmapタイプ の Enemy のメンバーであり、タイプQPixmappixmapItemEnemy のメンバーですQGraphicsPixmapItem*

addPixmap の戻り値をポインターに割り当てると、ピックスマップが表示されないのはなぜですか?

編集:さらなる調査は、

QGraphicsPixmapItem *pointer = scene->addPixmap(pixmap);

動作します

ローカル ポインターの値を pixmapItem に代入すると、再び機能しなくなります。

QGraphicsPixmapItem *pointer = scene->addPixmap(pixmap);
//doesn't work now
pixmapItem = pointer;
4

0 に答える 0