如果出现以下报错
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
QPainter::drawPoints: Painter not active
可能的问题:
1. 可以尝试看看你的 QPainter 是否放置于 paintEvent 函数内
paintEvent(QPaintEvent *event){
QPainter painter(this);
...
}
2. 看看你有没有使用过 paintEvent(NULL) 来触发绘制,如果使用过的话,换成 this->repaint();即可解决问题