Допустим, у меня есть QGraphicsRectItem item с item.width=10 и item.height=10. Его верхний левый угол находится в (0,0). item.BoundingRect()
должен возвращать RectF(0,0,9,9)
, но вместо этого возвращает RectF(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() возвращает RectF, который имеет ширину и высоту 11 пикселей, хотя width() и height() утверждают, что они равны 10 для обоих.
Что не так?