假设我有一个带有 item.width=10 和 item.height=10的 QGrahicsRectItem项。它的左上角在 (0,0)。item.BoundingRect()
应该返回 aRectF(0,0,9,9)
但它返回 aRectF(0,0,10,10)
您可以使用以下代码对其进行测试:
QGraphicsRectItem* item = new QGraphicsRectItem(0,0,10,10);
qDebug() << item->boundingRect().width(); // 10, OK
qDebug() << item->boundingRect().height(); // 10, OK
qDebug() << item->boundingRect().topLeft().x(); // 0, OK
qDebug() << item->boundingRect().topLeft().y(); // 0, OK
qDebug() << item->boundingRect().bottomRight().x(); // 10, WHY? should be 9
qDebug() << item->boundingRect().bottomRight().y(); // 10, WHY? should be 9
因此 boundingRect() 返回一个宽度和高度为 11px 的 RectF,尽管 width() 和 height() 声称两者都是 10。
怎么了?