В показанном вами коде нет ничего плохого.
Проблема на самом деле заключается в // populate list
На самом деле Полагаю, ни один элемент не заполняется в QFileInfoList
Вот почему вы получаете ASSERT
при попытке получить к нему доступ.
И проверьте возвращаемое значение hasNext()
. Скорее всего, он вернет false.
Надеюсь, это поможет каким-то образом ..