繁体   English   中英

如何重新定义 QGraphicsItem 的 (0,0) 在哪里?

[英]How can I redefine where (0,0) of a QGraphicsItem is?

我有一个自定义的QGraphicsItem ,它不绘制任何东西,但它是其他QGraphicsItems (如QGraphicsRectItem等)的父级。 我的顶级项目在子项目“内部”的某个地方有(0,0) 这是非常不方便的。 我想将原点移到childrenBoundingRect()左上角。

在图片中,我有(0,0)我的顶级项目在我的孩子项目(实心箭头)内的某处。 我想将原点移到虚线。 我怎样才能做到这一点?

因此,我希望顶级项目的定位会更方便。

在此处输入图片说明

覆盖QGraphicsItem 的示例通常显示来自 (0,0) 的boundingRect()函数。 改变这将改变原点。 因此,例如,要将其更改为中心,其中宽度和高度是存储在类内部的变量,您可以这样做: -

QRectF boundingRect() const
{
    return (-width / 2, -height / 2, width, height);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM