AFAIK QScrollArea repaint its child each times the scrollbars' values change... A solution would be to cache your chart by drawing it into an image/pixmap and displaying this cache. Alternatively you could handle scrolling internally (in your custom widget) without relying on QScrollArea. A third solution could be to reimplement QAbstractScrollArea instead of QWidget, draw your chart and make sure a full repaint isn't done each time the scrollbars move (you might want to take inspiration from QTextEdit source code then...)
Bookmarks