i have found a solution, but i don't know if it is a good one:
drawPixmap()
{
QPainter painter(pixmap);
painter.drawLine(px1, -0, px1, -10 );
//...
if(savePixmap)
pixmap->save("save.png", "PNG", -1);
}
paintEvent(QPaintEvent *)
{
QPainter painter;
painter.begin(this);
painter.drawPixmap(0,0,*pixmap);
}
OR
paintEvent(QPaintEvent *)
{
QPainter painter(pixmap);
painter.drawLine(px1, -0, px1, -10 );
//...
if(savePixmap)
pixmap->save("save.png", "PNG", -1);
painter.end();
painter.begin(this);
painter.drawPixmap(0,0,*pixmap);
}
i found that the QPainter::begin() is different than that in Qt3.