For someone facing a similar issue, I did not find a direct solution, According to the table 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.