I created two objects (node and line - derived from QGraphicsItem). Each line has pointers to its starting and ending node, and each node has pointer to QGraphicsItem in LinkedItems vector.
Problem is when i move node i want to update line item, but i canot call prepareGeometryChange method because is protected. what's the reason of that? does anybody have an idea how to do this?
Qt Code:
  1. void itdNode::move(qint32 _x, qint32 _y)
  2. {
  3. for (qint32 iItem=0;iItem<LinkedItems.size();iItem++)
  4. {
  5. // LinkedItems[iItem]->prepareGeometryChange();
  6. }
  7. prepareGeometryChange();
  8. x=_x;
  9. y=_y;
  10. update();
  11. for (qint32 iItem=0;iItem<LinkedItems.size();iItem++)
  12. {
  13. LinkedItems[iItem]->update();
  14. }
  15. }
  16. void itdNode::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
  17. {
  18. move(mouseEvent->scenePos().x(),mouseEvent->scenePos().y());
  19. }
To copy to clipboard, switch view to plain text mode