QGraphicsItem类的boundingRectangle初始化

时间:2019-03-17 11:14:57

标签: c++ qt qt5 coordinate-systems qgraphicsitem

要创建新的QGraphicsItem项,我们必须继承并覆盖boundingRect():

QRectF CircleItem::boundingRect() const
{
     qreal penWidth = 1;
     return QRectF(-radius - penWidth / 2, -radius - penWidth / 2,
              diameter + penWidth, diameter + penWidth);
}

但是在那种情况下,我们有一个矩形,其new_radius =(半径+直径)/ 2?

在“节点”示例中,有人说

QRectF Node::boundingRect() const
{
     qreal adjust = 2;
     return QRectF( -10 - adjust, -10 - adjust, 23 + adjust, 23 + adjust);
}

Qt文档:“节点”的边界矩形是一个 20x20 大小的矩形,该矩形围绕其原点(0、0)居中,在各个方向上调整2个单位以补偿节点的轮廓描边,并向右下3个单位留出空间以放置简单的阴影。

为什么尺寸为20x20,而不是25x25?我想念什么?

0 个答案:

没有答案