2013-09-30 7 views
5

Um dem Modell neue Zeilen hinzuzufügen, rufe ich beginInsertRows und endInsertRows() an. So konfigurieren Sie die Ansicht, um zu neuen hinzugefügten Zeilen zu blättern und sie auszuwählen. Ich kann es tun, indem ich einige Signale sende, aber vielleicht hat Qt einen Standardweg dafür.QTableView scrollen zur neuen hinzugefügten Zeile

Antwort

10

Erstellen Sie einen Steckplatz in Ihrer Formularklasse und verbinden Sie ihn mit dem Signal rowsInserted des Modells. Der Steckplatz sollte Folgendes enthalten:

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

Beachten Sie, dass Sie dies nicht von Ihrem Modell aus tun können (und sollten). Das Modell sollte nichts über die Ansicht wissen.

7

view->scrollToBottom(); ist bessere Lösung, da bei Verwendung von scrollTo metthod, neue Zeile in einigen Fällen nicht voll sichtbar

+0

Dies ist nicht, wenn einige Sortierung gab es auf der QTableView getan. – Shadow9043

Verwandte Themen