I have a QTableView on top of a QSqlTableModel. My database is sqlite.
I know QSqlTableModel lazily loads the data from the database (it actually loads 256 rows at a time), so when the users scrolls the view to the bottom, the model loads the 256 next rows.
I would like to know:

What is the signal emitted when the users reaches the bottom of the view ?
What is the model's method called to load the 256 next rows ?
The view asks the model for data by calling data function for all table cells that are visible. The model then queries the database if needed. How this happens in detail depends on the underlying database. The QSqlQueryModel documentation says that: "if the database doesn't return the number of selected rows in a query, the model will fetch rows incrementally. See fetchMore() for more information". Apparently this is the case for sqlite. 
The query happens in the fetchMore method of the model, I don't think there are any signals involved. You should be able to use the canFetchMore method to test if all records have been retrieved (not sure if this is want you want, perhaps you can tell us what you are ultimately trying to achieve.)
Edit after discussion:
You can inherit from the model and override the data method. I don't know where it's called in the view, probably in many places. You could try to look in the Qt source. If you need to do this from the view: when I look in the documentation of QAbstractScrollArea (which is an ancestor of QTableView) it seems that you can connect to a scroll bar's QAbstractSlider.actionTriggered signal to detect if the scroll bar is at the maximum.
What model's slot is called when Qtableview scrolled