Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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创建缩放图形项的克隆项_C++_Qt_Scale_Qgraphicsitem - Fatal编程技术网

C++ QT创建缩放图形项的克隆项

C++ QT创建缩放图形项的克隆项,c++,qt,scale,qgraphicsitem,C++,Qt,Scale,Qgraphicsitem,我创建了自己的类(继承自QGraphicsItem)并添加了鼠标事件的处理程序-现在我可以将其四处移动、放置在新位置等。此外,我还添加了缩放功能: void scaleUp() { scale(ScaleFactor_X,ScaleFactor_Y); } void scaleDown() { scale(1/ScaleFactor_X,1/ScaleFactor_Y); } 其中ScaleFactor_X和ScaleFactor_Y是类的参数 此外,我还添加了“阴影”功能—

我创建了自己的类(继承自QGraphicsItem)并添加了鼠标事件的处理程序-现在我可以将其四处移动、放置在新位置等。此外,我还添加了缩放功能:

void scaleUp()
{
    scale(ScaleFactor_X,ScaleFactor_Y);
}

void scaleDown()
{
    scale(1/ScaleFactor_X,1/ScaleFactor_Y);
}
其中ScaleFactor_X和ScaleFactor_Y是类的参数

此外,我还添加了“阴影”功能——每当我开始在周围拖动对象时,给定对象的副本都会保持在当前位置,直到我将原始对象放到新位置为止

CustomObject::CustomObject(bool isNumerable, int _x, int _y, int _w, int _h) 
{
   X=_x;
   Y=_y;
   Widith = _w;
   Height = _h;
}
问题是-每当我向上/向下缩放对象时-我无法真正更新用于创建副本的Widith和Height参数,因此-我的副本总是使用默认值

我尝试过这样修改缩放函数:

void scaleUp()
{
        Height = ScaleFactor_Y *Height;
        Widith = ScaleFactor_X *Widith;
        update();
}
但这使得我的克隆人有支撑物的形状(身高和Widith),但总是被移动,有点像随机的方向

我不知道如何用我的身高和身高来修正scaleign,以便仍然能够创建我的克隆