1.思路:
a)将文本写入到QGraphicsTextItem 中。
b)获取当前QGraphicsTextItem的font的像素大小
c)获取当前QGraphicsTextItem的width
d)获取QGraphicsRectItem的width
e)获取QGraphicsTextItem与QGraphicsRectItem的倍数关系
f)通过上述倍数关系重新设置QGraphicsTextItem的font的像素大小
2.代码:
a)
auto value_item = new QGraphicsTextItem(value);
b)
auto current_font = value_item->font();
auto current_pixel_size = current_font.pixelSize();
c)
auto actul_width = value_item->boundingRect().width();
d)
//rect是QGraphicsRectItem的boundingRect()
auto expect_width = rect.width() < rect.height() ? rect.width() : rect.height();
e) double rate = expect_width / actul_width;
f) int converted_pixel_size = rate * current_pixel_size;
current_font.setPixelSize(converted_pixel_size);
value_item->setFont(current_font);