Okay, i've a class that goes by the name "Frame" (represents a single animation frame) , now this frame for sure contains objects of type AnimatedSpriteItem (this class inherits QGraphicsItem).

I want to have the functionality so whenever user create a new Frame (scene), it should not be blank but rather clone of another existing frame.
However, after searching on web for some time, i was unable to find any concrete solution, as im afraid chances of making shallow copies are quite high and so i want to know if there is any concrete way to solve this issue ? do i need to make a private data member say, frameItems like this
QMap<QString, AnimatedSpriteItem *> frameItems; that maps item names to their references and then traverse this container in order to have much more control over process of cloning or there is a better way ?