title: How does QGraphicsItem::prepareGeometryChange() work?
body: <p>According to the Qt docs, it "Prepares the item for a geometry change. Call this function before changing the bounding rect of an item to keep QGraphicsScene's index up to date. prepareGeometryChange() will call update() if this is necessary."</p>
  
  <p>What I don't understand is how QGraphicsItem knows when the bounding rect changes, and how it knows when to call update(). Are you ever supposed to call update() yourself after calling prepareGeometryChange() and then changing the bounding rectangle?</p>
  
  <p>I'd greatly appreciate some insight into what appears to be a clairvoyant method.</p>