Как организовать удаление скрытых компонентов в Qt QML?
Ребята, помогите в таком вопросе: создаю большую сетку размером, скажем, 200х200 с помощью компонентов Column{} + Row{}
Элемент каждой сетки - Rectangle { ... Image { ... } }. Все это дело засунуто во Flickable{}, чтобы можно было двигать. При загрузке приложение сжирает почти 500Мб ОЗУ! Очевидно, что я неправильно создаю "модель" сетки. Нужно как-то автоматически удалять или скрывать невидимые объекты, то есть те, которые зашли за границы Flickable{}, как это делает, например, ListView{}. Как это сделать?
Добавление свойства clip: true во Flickable{} не помогло
update
Посмотрел GridView{} - почти подошло, но он может пролистывать таблицу только либо вертикально, либо горизонтально :-/
Сразу конечно :) как только окно появляется. Чем больше сетка, тем больше памяти. Слишком много компонентов создается. ListView, например, удаляет невидимые компоненты и создает их снова когда они должны появится при прокручивании списка. Я не знаю как это сделать с обычным Flickable ;(
Честно говоря, не уверен насчет последних достижений Qt-строителей, может быть, подобный функционал уже и реализован. В свое время писал велосипед с оценкой зоны видимости и динамической загрузкой видимых компонентов (с запасом вперед/назад на N экранов, обычно N=1 было достаточно) и, соответственно, динамической выгрузкой всех остальных компонентов.