Voila... Je crée avec QtCreator, une application basique de type MainWindow.
Dans le centralWidget, je place un QFrame nommé frame (avec le designer).

Dans le mainwindow, j'intercepte l'évènement PaintEvent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter dc(ui->frame);
    dc.setPen(Qt::blue);
    dc.drawLine(0,0,100,100);
}
la fenêtre "Application output" m'insulte avec:
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active


De manière évidente, si le QPainter prend this en paramètre au lieu de ui->frame, ça trace, pas sur le frame, bien sur, mais ça trace!

J'ai du faire une boulette, mais laquelle?
Pourquoi ne puis-je pas demander un QPainter sur un QWidget enfant?

Merci de votre aide.