Приветствую заглянувших.
Ситуация: Пишу свою модельку, примерно около 700к строк в модели. Наследованная от QAbstractItemModel. Устанавливаю в QTreeView, всё хорошо.
Крутится, запрашивается, реагирует прекрасно.
Проблема: при скроллинге на, допустим, элемент с №п/п 400000, View начинает запрашивать данные у модели с 0 до 400000. Соответственно это подвешивает программу.
Грешил на QScrollBar с отсылкой промежуточных значений, но даже вызов
ui.treeView->scrollTo(mode->index(400000,0, NULL))
заставляет View запрашивать все промежуточные значения.
Вопрос: Как заставить View запрашивать только целевой элемент и видимые. (Т.е. с 400000 по 400050 )
Возможно есть метод мною не замеченный или какая хитрость.
PS так всё равно зависает
ui.treeView->setUpdatesEnabled(false);
ui.treeView->blockSignals(true);
qDebug() << "TRAX";
ui.treeView->verticalScrollBar()->setValue(val);
ui.treeView->blockSignals(false);
ui.treeView->setUpdatesEnabled(true);
Решение: установка ui.treeView->setUniformRowHeights(true); в конструкторе.