我有一个自定义的QGraphicsItem
,它什么也没画,但是是其他QGraphicsItems
(例如QGraphicsRectItem
等)的父级。我的顶级商品在子商品“内部”的某处具有(0,0)
。这很不方便。我想将原点移到childrenBoundingRect()
的左上角。
在图片中,我的顶级商品的(0,0)
位于子商品的某个位置(实心箭头)。我想将原点移到虚线。我怎样才能做到这一点?
结果,我希望顶级商品的定位会更方便。
最佳答案
覆盖QGraphicsItem的示例通常显示源自(0,0)的boundingRect()函数。更改此设置将更改原点。因此,例如,要将其更改为宽度和高度是类内部存储的变量的中心,可以执行以下操作:-
QRectF boundingRect() const
{
return (-width / 2, -height / 2, width, height);
}