You already have the index of the current row, so to get modelindex for the next row, use the following:
QModelIndex next_index = table->model()->index(row + 1, 0);
Then you can set this indexex model as current using
table->setCurrentIndex(next_index);
Obviously, you need to make sure that you don't go beyond the end of the table, and maybe there are some additional steps to make sure the entire row is selected, but this should help you closer.
source share