#include "qmlarray.h" #include class QMLArray::PrivateData { public: QList list; }; QMLArray::QMLArray(QObject *parent) : QAbstractListModel(parent) { d = new PrivateData; QHash roles; roles[Qt::UserRole+1] = "modelData"; setRoleNames(roles); } QMLArray::~QMLArray() { delete d; } int QMLArray::rowCount(const QModelIndex &parent) const { return d->list.size(); } QVariant QMLArray::data(const QModelIndex &index, int role) const { return d->list.at(index.row()).toVariant(); } void QMLArray::push(const QScriptValue &v) { beginInsertRows( QModelIndex(), d->list.size(), d->list.size() ); d->list << v; endInsertRows(); }