rootObjects() возвращает только список объектов, которые были загружены с помощью load() или указаны в конструкторе QQmlApplicationEngine. Если вы ничего не загружали, то список будет пустым.
Чудес не бывает, если QList::operator[], говорит, что даже первого элемента нет, значит он пуст. Скорее всего там 0 элементов в отладчике. Если их не 0, но обращение к первому элементу вызывает assert, то там где-то выше может быть UB или память испортилась.