Qt QGraphicsRectItem上显示 文字内容根据item进行等比例缩放

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值