1  void MainWindow::paintEvent(QPaintEvent *e)
2  {
3     QPainter painter(this);
4     QRect r1(350, 100, 400, 300);
5     QRect r2(10, 100, 280, 300);
6     painter.drawRect(r2);
7     QPen bluepen(Qt::blue);
8     bluepen.setWidth(5);
9     painter.setPen(bluepen);
10    painter.drawEllipse(r1);
11    painter.drawRect(r1);
12    QPen redpen(Qt::red);
13    redpen.setWidth(5);
14    painter.setPen(redpen);
15    painter.setFont(QFont("Times", 18, QFont::Bold));
16    painter.drawText(r1, Qt::AlignCenter, "Graphics in Qt");
17    painter.drawRect(r2);

18    QRadialGradient g(QPoint(140, 250), 130);
19    painter.fillRect(r2, g);
20    redpen.setWidth(20);
21    redpen.setCapStyle(Qt::RoundCap);
22    painter.setPen(redpen);
23    painter.drawLine(150, 50, 600, 50);

24    QPoint p1(150, 450);
25    QPoint p2(600, 450);
26    bluepen.setWidth(20);
27    bluepen.setCapStyle(Qt::RoundCap);
28    painter.setPen(bluepen);
29    painter.drawLine(p1, p2);
30    bluepen.setWidth(5);
31    painter.setPen(bluepen);
32    static const QPoint points[4] = {
33        QPoint(150, 580),
34        QPoint(160, 510),
45        QPoint(220, 530),
36        QPoint(230, 570)
37    };
38    painter.drawPolygon(points, 4);
39 }