繁体   English   中英

在qlabel中将图像设置为背景和文本

[英]Set Image as Background and Text on Top of it in qlabel

  1. 我有一个45x45比例的PNG文件
  2. 我有270x30像素比例的Qlabel

我想要的是动态插入PNG文件作为背景和文本。

文字长度可能会从大到小变化,反之亦然,我们的图片会随之更改,并根据图片将其调整为适合图片的文字

QPixmap pixmapTarget = QPixmap(":/.png");
pixmapTarget = pixmapTarget.scaled(250, 27, Qt::IgnoreAspectRatio , Qt::SmoothTransformation);
ui->lable_1->setIcon(pixmapTarget);

但不要在图像中插入文本,以及如何根据文本获得灵活的内容。

甲QLabel 可以包含一个文本图像。 不能同时使用。 如果您想将图像作为文本的背景,则需要使用QTextView并将文本和背景图像设置为富文本格式,将两个QLabel实例彼此重叠,图像作为底部,或实现自己的自定义QWidget。 后者可以通过多种方式完成,包括将QLabel子类化为paintEvent中的子类,首先渲染背景图像(请参阅QPainter有关如何绘制QImage或更好的QPixmap的文档),然后调用paintEvent的基本实现来渲染文本。 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM