C++ QGraphicsPolyGon左上角的项目比例

C++ QGraphicsPolyGon左上角的项目比例,c++,qt,scaling,qgraphicsitem,C++,Qt,Scaling,Qgraphicsitem,我有一个关于QGraphicsPolygonItem缩放的问题 我在QGraphicsPolygonItem内有多边形: QPolygonF p1; p1 << QPointF(-4, 32) << QPointF(-4, -32) << QPointF(4, -32) << QPointF(4, 32); //or //p1 << QPointF(0, 0) << QPointF(8, 0) << QPoin

我有一个关于QGraphicsPolygonItem缩放的问题

我在QGraphicsPolygonItem内有多边形:

QPolygonF p1; 
p1 << QPointF(-4, 32) << QPointF(-4, -32) << QPointF(4, -32) << QPointF(4, 32);
//or
//p1 << QPointF(0, 0) << QPointF(8, 0) << QPointF(8, 64) << QPointF(0, 64);
//whatever, they both doesn't work correctly.
然后,我尝试将其缩放为setScale2,多边形从中心点开始缩放,而不是从顶部开始缩放。我读过有关Qt缩放和原点的文档,但没有效果。 出于测试目的,我已经将多边形更改为矩形比例,工作正常

如何从左上方缩放多边形

无比例多边形红色,矩形黑色: 资料来源:

比例为x2时: 资料来源:

感谢您的帮助

您需要的是:

在项目坐标中设置变换的原点


setTransformOriginPoint不能解决这个问题,因为它是TransformationCenter到左上方的唯一更改起点。如图2所示,缩放x2的问题在于缩放后的多边形重叠。为了防止这种情况,可能需要使用translate。我需要缩放后:1。缩放多边形,2。缩放它的X,Y位置,就像图2中的黑色矩形。