QT一直输出打印 QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
QPainter::begin: Painter already active
重新实现paintEvent函数时,如果使用QPainter painter(this);,再使用begin、end则会重复包含QPainter
如下程序,是错在不断输出的问题
void arrivedstation::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QColor color(0,0,0,255);
QPen pen;
pen.setWidth(4);
pen.setColor(color);
painter.setPen(pen);
painter.begin(this);
painter.drawLine(QPoint(560,55),QPoint(620,55));
painter.drawLine(QPoint(590,45),QPoint(620,55));
painter.drawLine(QPoint(590,65),QPoint(620,55));
painter.end();
}
修改后的程序
void arrivedstation::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QColor color(0,0,0,255);
QPen pen;
pen.setWidth(4);
pen.setColor(color);
painter.setPen(pen);
//painter.begin(this);
painter.drawLine(QPoint(560,55),QPoint(620,55));
painter.drawLine(QPoint(590,45),QPoint(620,55));
painter.drawLine(QPoint(590,65),QPoint(620,55));
//painter.end();
}