Установить изображение как фон и текст поверх него в qlabel - PullRequest
0 голосов
/ 24 декабря 2018
  1. У меня есть файл PNG с соотношением 45x45
  2. У меня есть Qlabel с соотношением пикселей 270x30

я хочу вставить PNG-файл в качестве фона и текста на немDynamilaclly.

Длина текста может изменяться от большого к маленькому и наоборот, соответственно наше изображение изменяется и вписывается в текст внутри изображений, его среднее гибкое изображение в соответствии с текстом

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

, но невставить текст в изображение и как получить гибкую вещь в соответствии с текстом.

1 Ответ

0 голосов
/ 24 декабря 2018

QLabel может содержать или текст или изображение.Не оба одновременно.Если вы хотите использовать изображение в качестве фона для текста, вам нужно будет либо использовать QTextView и настроить текст и фоновое изображение как форматированный текст, наложив два экземпляра QLabel друг на друга, а нижний - изображение,или реализовать свой собственный QWidget.Последнее может быть сделано различными способами, включая создание подкласса QLabel для того, чтобы в paintEvent сначала визуализировал фоновое изображение (см. Документацию QPainter о том, как рисовать QImage или лучше, QPixmap), а затем вызывал базовую реализацию paintEvent для визуализации текста..

...