QTreeWidget should automatically repaint when scrolled. It looks like you might have implemented delegates for certain columns, and my guess is that you have done this incorrectly. If I were to guess again, it looks like the QRect that is being used for the delegate's location is not being updated when the widget is scrolled because it looks like the delegate is being "left behind" as the rest of the view moves.
Bookmarks