2010-11-24 3 views
2

Я считаю, что QPainter используется, но я не могу понять, как объединить два.Qt - Как установить текст поверх QLabel Image

QLabel* imageLabel = new QLabel(); 
QImage image("c://image.png"); 
imageLabel->setPixmap(QPixmap::fromImage(image)); 
imageLabel->setAlignment(Qt::AlignCenter); 

QPainter* painter = new QPainter(); 
painter->setPen(Qt::blue); 
painter->setFont(QFont("Arial", 30)); 
painter->drawText(rect(), Qt::AlignCenter, "Text on Image"); 

ответ

6

Вы должны сказать художник, где рисовать:

QImage image("c://image.png"); 

// tell the painter to draw on the QImage 
QPainter* painter = new QPainter(&image); // sorry i forgot the "&" 
painter->setPen(Qt::blue); 
painter->setFont(QFont("Arial", 30)); 
// you probably want the to draw the text to the rect of the image 
painter->drawText(image.rect(), Qt::AlignCenter, "Text on Image"); 

QLabel* imageLabel = new QLabel(); 
imageLabel->setPixmap(QPixmap::fromImage(image)); 
imageLabel->setAlignment(Qt::AlignCenter); 
+0

это не работает. «Нет подходящей функции для вызова QPainter :: QPainter (QImage &)» – 2010-11-24 18:37:59

Смежные вопросы