如何在boundingRect的矩形器件的特定位置上写text
时间: 2023-06-24 12:04:37 浏览: 105
opencv提取外部轮廓并在外部加矩形框
您可以使用 QPainter 在boundingRect指定位置绘制文本。以下是一个示例代码片段,展示如何在矩形的中心位置绘制文本。
```cpp
void MyRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option);
Q_UNUSED(widget);
// draw bounding rect
painter->setPen(Qt::black);
painter->drawRect(boundingRect());
// draw text in the center of bounding rect
QString text = "Hello World";
QFont font("Arial", 12);
QFontMetrics fm(font);
QRect rect = fm.boundingRect(text);
QPointF center = boundingRect().center() - QPointF(rect.width()/2.0, rect.height()/2.0);
painter->setFont(font);
painter->drawText(center, text);
}
```
在这个示例中,我们首先绘制了boundingRect,然后使用 QFontMetrics 来计算要绘制的文本的边界框。最后,我们将文本绘制在boundingRect的中心位置。
阅读全文