code: def indexAt(self, point):
          
          # Transform the view coordinates into contents widget coordinates.
          wx = point.x() + self.horizontalScrollBar().value()
          wy = point.y() + self.verticalScrollBar().value()
          self._calculateRects()
          # naive search
          for row in range(self.model().rowCount(self.rootIndex())):
              for col in range(self.model().columnCountForRow(row)):
                  if self._rects[row][col].contains(wx, wy):
                      return self.model().index(row, col, self.rootIndex())
  
          return QtCore.QModelIndex()
docs: Returns the index of the component at *point* relative to view coordinates.
          If there is None, and empty index is returned. :qtdoc:`Re-implemented<QAbstractItemView.indexAt>`
  
          :param point: the point, in view coordinates, to find an index for
          :type point: :qtdoc:`QPoint`
          :returns: :qtdoc:`QModelIndex`