sosanjay
16th December 2009, 08:57
Hi All,
I am using QPainter class to draw line on the button event.
I am using three push button on which every button different layouts of the line will draw.
First time it works well but when I press rapidly few times then overwriting will occur.
I am using painter.eraseRect(0,0,281,191); but it not works
Can anyone help me to clear the label everytime when I draw.
In Qt there is no painter.clear() properties.
How can I clear the screen every time before I draw.
In 1st Push button I write
QPixmap pix(281,191);
QPen Pen((QColor::QColor (255,255,255,255)),2);
QLineF line1(0,50,281,50);
painter.eraseRect(0,0,281,191);
painter.begin(&pix);
painter.setPen(Pen);
painter.drawLine(line1);
painter.end();
In 2nd button I write
QPixmap pix(281,191);
QPen Pen((QColor::QColor (255,255,255,255)),2);
QLineF line1(60,50,281,50);
QLineF line2(60,141,281,141);
QLineF line3(60,0,60,191);
painter.eraseRect(0,0,281,191);
painter.begin(&pix);
painter.setPen(Pen);
painter.drawLine(line1);
painter.drawLine(line2);
painter.drawLine(line3);
painter.end();
so on..
I am using QPainter class to draw line on the button event.
I am using three push button on which every button different layouts of the line will draw.
First time it works well but when I press rapidly few times then overwriting will occur.
I am using painter.eraseRect(0,0,281,191); but it not works
Can anyone help me to clear the label everytime when I draw.
In Qt there is no painter.clear() properties.
How can I clear the screen every time before I draw.
In 1st Push button I write
QPixmap pix(281,191);
QPen Pen((QColor::QColor (255,255,255,255)),2);
QLineF line1(0,50,281,50);
painter.eraseRect(0,0,281,191);
painter.begin(&pix);
painter.setPen(Pen);
painter.drawLine(line1);
painter.end();
In 2nd button I write
QPixmap pix(281,191);
QPen Pen((QColor::QColor (255,255,255,255)),2);
QLineF line1(60,50,281,50);
QLineF line2(60,141,281,141);
QLineF line3(60,0,60,191);
painter.eraseRect(0,0,281,191);
painter.begin(&pix);
painter.setPen(Pen);
painter.drawLine(line1);
painter.drawLine(line2);
painter.drawLine(line3);
painter.end();
so on..