开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面。再将Qlabel加到Qwidget中。效果如下
//创建对象,加载图片
QPixmap pix;
pix.load(":/alarmLevel/image/alarmLevel/alarmLevel_H.png");
//创建绘画对象
QPainter painter(&pix);
painter.begin(&pix);
painter.setPen(Qt::white);
//设置字体大小
QFont font = painter.font();
font.setPixelSize(12);//改变字体大小
font.setFamily("Microsoft YaHei");
painter.setFont(font);
//将文字写在图片上
painter.drawText(pix.rect(), Qt::AlignCenter, tr(strLevel.c_str()));
QLabel* pLevelLable=new QLabel;
pLevelLable->setPixmap(pix);