Просто измените хранилище данных вашей модели между beginInsertRows () и endInsertRows ().
Например, допустим, у вас есть модель плоского списка, и ваша модель хранит данные внутри себя в QVector m_data. Вы хотите добавить в начало список, то есть вставить строку в позицию 0:
beginInsertRows( QModelIndex(), 0, 0 ); //notify views and proxy models that a line will be inserted
m_data.prepend( somedata ); // do the modification to the model data
endInsertRows(); //finish insertion, notify views/models