为什么QPrinter生成的图片会重叠?
-
我写了一段按钮点击事件代码,用QPrinter.drawText()生成图片,放到label里显示。
点击多次,就会出现图片重叠的情况,再点几次又好了。再点几次又重叠,如此反复。我不想这样,怎么才能避免图片重叠?
void MainWindow::on_pushButton_clicked()
{
static int i=0;QImage *mainimg = new QImage(); *mainimg = QImage(240+1,240+1,QImage::Format_ARGB32); //size 240*240 QPainter painter(mainimg); painter.setPen(QColor(Qt::black)); painter.drawRect(0,0,240,240); painter.drawLine(0,120,240,120); QFont f12(u8"宋体",12); painter.setFont(f12); painter.drawText(10,20,"测试重复生成图片"); char text[100]; sprintf(text,"%d%d%d%d%d",i,i,i,i,i); painter.drawText(10,50,text); qDebug()<<i++<<":"<<text; painter.end(); QPixmap map = QPixmap::fromImage(*mainimg); ui->label_test->setPixmap(map); delete mainimg;
}
-
QT中文社区都没人啊,
这个问题是因为没有setbrush(backgroud color),导致背景是随机的~
感谢 @Christian-Ehrlicher 的回复,