code: def scrollTo(self, index, ScrollHint):
          
          # copied verbatim from chart example
          area = self.viewport().rect()
          rect = self.visualRect(index)
  
          if rect.left() < area.left():
              self.horizontalScrollBar().setValue(
                  self.horizontalScrollBar().value() + rect.left() - area.left())
          elif rect.right() > area.right():
              self.horizontalScrollBar().setValue(
                  self.horizontalScrollBar().value() + min(
                      rect.right() - area.right(), rect.left() - area.left()))
  
          if rect.top() < area.top():
              self.verticalScrollBar().setValue(
                  self.verticalScrollBar().value() + rect.top() - area.top())
          elif rect.bottom() > area.bottom():
              self.verticalScrollBar().setValue(
                  self.verticalScrollBar().value() + min(
                      rect.bottom() - area.bottom(), rect.top() - area.top()))
  
          self.viewport().update()
docs: :qtdoc:`Re-implemented<QAbstractItemView.scrollTo>`