В документации на QPainter Qt 5.4.2 написан следующий пример:
void SimpleExampleWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
}
Такое переопределение метода paintEvent() должно нарисовать строку «Qt» в центре виджета.
Вместо этого в логе пишется:
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
QPainter::setFont: Painter not active
Как побороть?