paintEvent n'est pas appelé
Bonjour, je veux dessiner sur un widget mais Qt ne veut pas le faire.
J'ai redéfini la méthode paintEvent comme indiqué dans la doc.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
void GWidget::paintEvent(QPaintEvent* event) {
QWidget::paintEvent(event);
std::cout<<"repaint!"<<std::endl;
QPainter painter;
painter.begin(this);
static const QPoint points[4] = {
QPoint(10, 80),
QPoint(20, 10),
QPoint(80, 30),
QPoint(90, 70)
};
painter.setPen(Qt::SolidPattern);
painter.drawPolygon(points, 4);
painter.end();
} |
Lorsque j'appelle repaint la méthode paintEvent n'est pas appelée alors j'ai essayer de l'appeler manuellement :
Code:
1 2 3
|
QPaintEvent event(QRegion(0, 0, gWidget->width(), gWidget->height()));
gWidget->paintEvent(&event); |
Voici l'erreur :
Code:
1 2 3 4 5
|
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
QPainter::end: Painter not active, aborted |