Hello,
I am aiming to replicate a Photoshop-like selection behaviour between a QGraphicsScene/QGraphicsView and a QTreeView/QStandardItemModel.

Specifically, a QTreeView shows the names of QGraphicsItems and their children contained within a QGraphicsScene (children will be linked with a parent so they move together). When an item is selected in the QTreeView, the corresponding QGraphicsItem is selected in the scene and vice versa.

I was considering making a class which inherits from both QStandardItem and QGraphicsItem (or some subclass... probably QGraphicsPixmapItem) so that a single pointer could be inserted into either the scene or the tree view without having to keep track of all kinds of cross-references. This way I should be able to set up signals so that a change in selection in the tree view or graphics view can signal a selection change in the other.

However, I am still learning about all the Qt classes and their functionality so I don't want to make a big design mistake out of ignorance which ends up haunting me later on.

Any suggestions on ways or best-practices on how something like what I've described might be accomplished? Any help would be greatly appreciated! Thanks.