Äh, ein QGraphicsPixmapItem ist doch dafür da, es in einer QGraphicsScene hin und her zu bewegen, auszuwählen etc. Sind deine Tiles beweglich? Wenn nicht, ist das die falsche Lösung.
Falls du Objekte hast, die du vor den Tiles hin- und herbewegen können willst, dann wäre das die richtige Klasse.
Die Tiles würde ich, wenn es eben normale Tiles sind, über den Hintergrund der QGraphicsScene zeichnen (QGraphicsScene::drawBackground(...) ) und intern eine 2D Struktur verwenden, wo nur eine Nummer gespeichert ist. Die Nummer dient als Index in ein internes Tileset, wo dann die Grafiken liegen. Oder so ähnlich.
Du erstellst ein QGraphicsPixmapItem für jede Grafik die vor kommt genau einmal und speicherst dann im Tile nur einen Zeiger darauf
Das ist also nicht der richtige Ansatz. Ein QGraphicsPixmapItem ist, wie gesagt, dafür da, es in einer QGraphicsScene herumschieben zu können etc. Das geht weit über das Speichern von Grafiken hinaus. Die Grafiken werden über bloße QPixmaps gespeichert.
Übrigens:
QPixmap objects can be passed around by value since the QPixmap class uses implicit data sharing.
Das sollte also nicht das Problem sein. Aber die QGraphicsItems haben schon recht viele Features...