title: Why am I unable to perform a calculation for the position in a sceneEvent for a QGraphicsObject?
body: <p>I have implemented QGraphicsObject with QTouchEvents and reimplemented the sceneEvent function.</p>
  
  <pre><code>bool LynxItem::sceneEvent(QEvent *event)
  {
      //qDebug() &lt;&lt; "LynxItem::sceneEvent:" &lt;&lt; itemId;
      switch (event-&gt;type()) {
      case QEvent::Gesture:
      {
           qDebug() &lt;&lt; "LynxItem::sceneEvent:Gesture" &lt;&lt; itemId;
           return gestureEvent(static_cast&lt;QGestureEvent*&gt;(event));
           break;
      }
      case QEvent::TouchBegin:
      case QEvent::TouchUpdate:
      case QEvent::TouchEnd:
      {
          qDebug() &lt;&lt; "LynxItem::sceneEvent:TouchUpdate" &lt;&lt; itemId;
          QTouchEvent *touchEvent = static_cast&lt;QTouchEvent *&gt;(event);
          QList&lt;QTouchEvent::TouchPoint&gt; touchPoints = touchEvent-&gt;touchPoints();
          const QTouchEvent::TouchPoint &amp;touchPoint1 = touchPoints.last();
          /* This doesn't allow two objects to move at the same time */
          //setPos ( touchPoint1.scenePos() - touchPoint1.pos());
          /* This does work but the item is always moved from top left */
          setPos(touchPoint1.scenePos());
          event-&gt;accept();
          break;
      }
      default:
          return QGraphicsItem::sceneEvent(event);;
      }
      return true;
  }
  </code></pre>
  
  <p>My problem is that when I touch the item the items top right corner comes to the touch point.  I want to offset the point inside where I touched.  However when I do that I can only move one item at a time.</p>