Экземпляры, которые находятся на делегатах ListView, не будут существовать, пока они не окажутся в видимом диапазоне или диапазоне кэша вокруг визуальной области представления списка. Если делегат выходит за пределы этого диапазона, он уничтожается. Поэтому не нужно беспокоиться о скрытых там экземплярах.
Более того, элементы, которые в данный момент не видны, также не рисуются. Они не вводятся в граф сцены и, следовательно, не отображаются. Таким образом, экземпляры ваших предметов, появляющиеся на вкладках, которые в данный момент не являются текущими, также не будут отображаться. Тем не менее, эти предметы все же существуют, конечно.
Выяснить, является ли предмет эффективно видимым или нет, хотя это довольно сложная проблема. QML делегирует часть этого OpenGL (например, отсечение). Там нет отзывов о результате этого. Теоретически вы могли бы извлечь эту информацию из рендерера, но это потребовало бы ее настройки, а это очень сложно. Вы можете взглянуть на эвристику, которую GammaRay использует, чтобы предупредить о невидимых элементах. Возможно, вы можете черпать вдохновение из этого.