2013-09-30 11 views
5

Aby dodać nowe wiersze do modelu, wywołuję beginInsertRows i endInsertRows(). Jak skonfigurować widok, aby przewinąć do nowych dodanych wierszy i wybrać go. Mogę to zrobić wysyłając sygnały, ale być może Qt ma standardowy sposób na to.QTableView przewiń do nowego dodanego wiersza

Odpowiedz

10

Utwórz slot w swojej klasie formularza i podłącz go do sygnału modelu rowsInserted. Szczelina powinna zawierać:

void My_form::model_rows_inserted(const QModelIndex & parent, int start, int end) { 
    view->scrollTo(model->index(start, 0)); 
} 

Pamiętaj, że nie możesz (i nie powinien) robić tego ze swojego modelu. Model nie powinien nic wiedzieć o widoku.

7

view->scrollToBottom(); jest lepszym rozwiązaniem, ponieważ w przypadku korzystania scrollTo metthod, nowy rząd w niektórych przypadkach nie jest pełny widoczny

+0

ta nie będzie działać, jeśli nie było pewne sortowania robione na QTableView. – Shadow9043

Powiązane problemy