For someone facing a similar issue, I did not find a direct solution, According to the table https://doc.qt.io/qt-5/qtqml-cppintegration-data.html#sequence-type-to-javascript-array QList<CustomClass> is not yet supported in QML. Due to this reason I had to convert the QList<QList<CustomClass>> to QVariantMap<string,QVariantList<QVariantList<QVariantMap>>> And while using the values in qml use the bracket notation instead of the dot notation.