Russian Qt Forum

Qt => Model-View (MV) => Тема начата: nvek от Август 30, 2017, 09:57



Название: Постепенное достраивание деревянной модели
Отправлено: nvek от Август 30, 2017, 09:57
мне интересно, как это должно быть правильно. Пускай вложенность очень большая, а данные берутся с сервера.
И чтобы при подключении все дерево сразу не загружать (ведь это может быть очень долго), надо делать это постепенно при развороте узла.
Как такую штуку делают? Пока я прихожу к мысли, что с помощью сигнала
Код:
void expanded(const QModelIndex &index);
в QTreeView, находим нужный объект, и у него достраиваем два уровня (именно два, чтобы видно было, что что-то можно развернуть)
Если так, то тогда, как мне связываться с этим сигналом? и надо ли мне его отвязывать?

Как вы это делаете? как будет правильнее



Название: Re: Постепенное достраивание деревянной модели
Отправлено: kai666_73 от Август 30, 2017, 11:54
Тут скорее всего надо смотреть в сторону

Код:
void QAbstractItemModel::fetchMore(const QModelIndex &parent);
bool QAbstractItemModel::canFetchMore(const QModelIndex &parent) const;


Название: Re: Постепенное достраивание деревянной модели
Отправлено: maks1596 от Июнь 03, 2018, 13:21
По этой статье я выстраивал своё дерево. https://habr.com/post/172187/ (https://habr.com/post/172187/)