Per aggiungere nuove righe al modello, sto chiamando beginInsertRows
e endInsertRows()
. Come configurare la vista per scorrere verso nuove righe aggiunte e selezionarla. Posso farlo inviando alcuni segnali ma forse Qt ha un modo standard per farlo.QTableView scorrere fino alla riga aggiunta nuova
5
A
risposta
10
Creare uno slot nella classe del modulo e collegarlo al segnale rowsInserted
del modello. Lo slot deve contenere le seguenti:
void My_form::model_rows_inserted(const QModelIndex & parent, int start, int end) {
view->scrollTo(model->index(start, 0));
}
Si noti che non è (e non dovrebbe) è possibile farlo dal modello. Il modello non dovrebbe sapere nulla della vista.
7
view->scrollToBottom();
è la soluzione migliore, perché se si utilizza scrollTo metthod, nuova riga in alcuni casi non è piena visibile
Questo non avrebbe funzionato se ci fosse qualche ordinamento stato fatto sul QTableView. – Shadow9043