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
5
A
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
ta nie będzie działać, jeśli nie było pewne sortowania robione na QTableView. – Shadow9043