要创建新的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?我想念什么?