在 qlabel 中将图像设置为背景并在其顶部设置文本


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

我想要的是插入PNG文件作为背景,并在其上动态插入文本。

文本长度可能会从大变为小,反之亦然,相应地,我们的图像会发生变化,并将文本放入图像中,根据文本,其含义为灵活的图像

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

但是不要在图像中插入文本以及如何灵活地适应文本。

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

最新更新