Мне нужно нарисовать ярлык на коробке.
В идеале я бы масштабировал метку в соответствии с размером поля, но я не уверен, есть ли какие-либо встроенные функции для такого типа масштабирования.
В настоящее время я масштабирую объект до высоты ограничивающего прямоугольника, но я не уверен, как реализовать масштабирование ширины, потому что ширина нарисованного текста зависит от определенного порядка символов (из-за кернинга) ,
Есть ли встроенная функциональность для такого масштабирования?
void total_control_roi_item::paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
{
QGraphicsRectItem::paint(painter, option, widget);
painter->save();
const auto rect = boundingRect();
auto font = painter->font();
auto height_of_box = rect.height()*0.7;
font.setPointSizeF(height_of_box);
painter->setFont(font);
const auto label = QString("%1").arg(id_);
painter->drawText(rect, label, Qt::AlignHCenter | Qt::AlignVCenter);
painter->restore();
}