def indexAt(self, point):
        """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`
        """
        # 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()