2013-09-30 18 views
5

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

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

+0

Questo non avrebbe funzionato se ci fosse qualche ordinamento stato fatto sul QTableView. – Shadow9043

Problemi correlati