Use polymorphism instead of hiding, just on the off-chance that a QGraphicsThumbnailItem is assigned to a QGraphicsManipulablePixmapItem* in the future (It shouldn't be: arguably their commonality should reside in an abstract base class from which both derive).
Create base class for image and thumb items.
Use initialisation lists for all member variables.
ManipulableItem is no longer the base class; event methods don't need to be virtual.