It's weird that when I calculate the position of the to be inserted row with model->rowCount() and then call insertRow() at that position. It still adds the row at the top of the table. While in your example in inserts the row at the bottom.