Thank you very much for the reply, d_stranz.

What you've said makes a lot of sense! It adheres to both minimal coupling and also the Model-View-Controller design pattern that Qt enables & encourages. While I was trying to simplify the bookkeeping involved with my idea of inheriting from both QStandardItem and QGraphicsItem, it would have strongly coupled model & controller behaviour. I was hoping for a simpler/more elegant method of keeping track of pointers other than two hash maps, but I suppose it could be worse