我有一个自定义QGraphicsItem
,它只绘制其他QGraphicsItems
的父级(如QGraphicsRectItem
等等)。我的顶级项目在子项“内部”的某个位置(0,0)
。这非常不方便。我想将原点移到childrenBoundingRect()
的左上角。
在图片中我已经(0,0)
我的顶级项目在我的子项目中的某个位置(实线箭头)。我想将原点移到虚线上。我怎么能这样做?
结果我希望顶级项目的定位会更方便。
答案 0 :(得分:1)
覆盖QGraphicsItem的示例通常会显示源自(0,0)的boundingRect()函数。更改此项将更改原点。因此,例如,要将其更改为中心,其中宽度和高度是类内部存储的变量,您可以这样做: -
QRectF boundingRect() const
{
return (-width / 2, -height / 2, width, height);
}