Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt GraphicsItem调整大小类_C++_Qt - Fatal编程技术网

C++ Qt GraphicsItem调整大小类

C++ Qt GraphicsItem调整大小类,c++,qt,C++,Qt,我试图编写一个类来处理作为其父对象的对象的移动和调整大小事件 } 当我从原点移动父项时,一切正常,但是当我已经移动了该项并且我想再次移动时,in会跳回到原点并从那里移动我用鼠标所做的位置,在鼠标所在位置和对象之间有一个偏移 有人知道我犯了什么错吗 QPointF变量只是暂时的。我带他们去看了一下coords,如果我发现了错误的话 QVariant ResizeItem::itemChange(GraphicsItemChange change,const QVariant &valu

我试图编写一个类来处理作为其父对象的对象的移动和调整大小事件

}

当我从原点移动父项时,一切正常,但是当我已经移动了该项并且我想再次移动时,in会跳回到原点并从那里移动我用鼠标所做的位置,在鼠标所在位置和对象之间有一个偏移

有人知道我犯了什么错吗

QPointF变量只是暂时的。我带他们去看了一下coords,如果我发现了错误的话

QVariant ResizeItem::itemChange(GraphicsItemChange change,const QVariant &value){

    if (change == ItemPositionChange) {

       QPointF newPos = value.toPointF();

       qreal xV = round(newPos.x()/gridsize)*gridsize;
       qreal yV = round(newPos.y()/gridsize)*gridsize;

       parentItem()->setPos(mapToParent(QPointF(xV,yV)));
       QPointF pasdf = mapToParent(QPointF(xV,yV));
       QPointF poin7 = mapFromScene(pos());
       QPointF poin8 = mapFromScene(QPointF(xV,yV));
       QPointF point3 = mapToParent(pos())+QPointF(xV,yV);
       QPointF point = scenePos();
       QPointF pint5 = mapToParent(QPointF(xV,yV));
       QPointF point2 = mapToScene(xV,yV);
       QPointF point4 = mapToScene(pos());
       return QGraphicsItem::itemChange(change, pos()); // don't change position of item just position of parent

   }else{

       return QGraphicsItem::itemChange(change, value);
   }