@Publicnamer
It depends just what you want, what is in your model, and whether you know how much is in the backing model.
Your question seems to relate to paging the data, or something based off that. Rather than looking at visual rects --- especially if they don't work --- the alternative is to look at the scrollbar. That reflects how far through the data the user is.
One possible implementation is given in Pagination in QtableWidget, @raven-worx's algorithmic outline there.
I have seen others (unfortunately can't find references) where the algorithm is to maintain the scrollbar height such that there is always a "gap" at the bottom which the user can scroll into, and that fires a fetch of more data and recalibration of the scrollbar, which still has a "gap" at the bottom. Think of when you use an application which produces large or endless output, like a web page receiving more and more data or showing photos where more and more are to come (e.g. some tumblr pages). The scrollbar always allows the user to scroll some more. @raven-worx's suggestion could be adapted to that.
If you Google for stuff involving QTableWidget or QTableView and pagination you may find some useful code/ideas.