Я использую C++, Qt 4.8.7, Visual Studio 2013, Windows 7. Мое приложение с графическим интерфейсом содержит QTableView
. Я добавил слоты, которые обрабатывают сигналы beginResetModel()
и reset()
из моей модели. Эти слоты обычно вызываются, но вертикальная прокрутка по-прежнему всегда прокручивает вверх всего списка. Как я могу это исправить? Мне нужно восстановить текущую позицию. Обратите внимание, что во время сброса ни одна строка не удаляется. Таким образом, содержимое старых строк может быть изменено и/или добавлены новые строки.
//before reset
current_top_row_number_ = table_view_->rowAt(0);
//after reset
table_view_->scrollTo(log_model_->index(current_top_row_number_, 0), QAbstractItemView::PositionAtTop);