我开始使用自己的类(继承自QGraphicsItem)并为鼠标事件添加了处理程序 - 现在我可以移动它,将它放在新的位置等。我还添加了缩放功能:
void scaleUp()
{
scale(ScaleFactor_X,ScaleFactor_Y);
}
void scaleDown()
{
scale(1/ScaleFactor_X,1/ScaleFactor_Y);
}
其中ScaleFactor_X和ScaleFactor_Y是类的参数。
另外,我添加了#34; shadow" feature - 每当我开始拖动对象arround时,给定对象的副本将保持在当前位置,直到我将原始对象放入新位置。
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();
}
但是这导致我的克隆1)有适当的形状(高度和威迪斯),但总是被移动,有点随意的直接dirrection。
我不知道我怎么能用我的widith和身高来纠正我的克隆。