Do not draw on your subclass of QChartView, but instead on its viewport.
QChartView is derived from QGraphicsView, which in turn is derived from QAbstractScrollArea and according to this answer (as well as the cited there documentation) you should use the viewport as a paint device for your QPainter, not the widget itself.
So, instead of
QPainter painter(this);
write
QPainter painter(viewport());
The same could be seen in the source of QGraphicsView, i.e.:
// Set up the painter
QPainter painter(viewport());